本帖最后由 门文通 于 2013-3-8 03:40 编辑
在多态中,如果子父类中有同名非私有成员变量,访问时要看左边(即引用型变量的类型)来确定调用哪个成员变量。 我认为 Fu f=new Zi(); 的过程中是没有创建父类对象的,不过刚才有同学说会隐式的创建父类对象。- 在类与类之间的继承中,当我们用父类的引用指向子类对象时,这个引用也就指向子类对象中的父类对象
- Java引用变量有两个类型,一个是编译时的类型,一个是运行时的类型。编译时的类型是由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。通过引用变量来访问其包含的实列属性时,系统总是试图访问它编译时类所定义的属性。而不是它运行时类型所定义的属性。
- 在Java程序创建某个类的对象时系统会隐身创建该类父类的对象。只要有一个子类对象存在,则一定存在一个与之对应的父类对象。
复制代码 我对着不太明白了 ,毕老师视频里说的是 new Zi() 的时候 两个同名变量都会在堆中,只是父类引用调用时就会返回父类的变量。那我认为父类对象应该是不存在的。
到底父类对象有没有? 如果真有的话? 那对于抽象类和接口怎么办? |