就是一多态的概念,父类引用指向子类对象。JFrame是父类型,MyFrame是JFrame的一个子类。类似于“水果 aa = new 苹果()”。应该是MyFrame这个类修改了一些JFrame的方法,为了便于使用,以及接口的统一,统称为JFrame类型,但是应用中已经可以运行MyFrame中覆盖的方法了,而不是JFrame中的方法。但是如果MyFrame中写入了新的方法,实例a将无法调用。请LZ参考一下多态,方法覆盖的概念。
刚注册csdn,就看到了楼主这个问题。
JFrame a = new MyJFrame();是一中多态;我给你举个例子:
public class Test
{
public static void main(String[] args)
{
Animal bird = new Bird(); //这儿就是你说的问题;
Animal dog = new Dog();//同上!
bird.run();
dog.run();
}
}
abstract class Animal
{
public void run(){}
}
class Bird extends Animal
{
public void run()
{
System.out.println("Bird Fly!!");
}
}
class Dog extends Animal
{
public void run()
{
System.out.println("Dog Run!!");
}
}