public class Parent {
private String parstr="parentString";
}
public class Child extends Parent {
private String child="childstrString";
public static void main(String[] args) {
Parent p = new Child(); -》》此处Child 中的child
去哪里?
Child c = (Child)p;此处Parent 中parstr在那里
}
}
高手们,是不是 在内存中直接删除掉了,还是根本就没有初始化(经验正已初始化)。我不明白 这个地方,
各位给我解释下,cast转换 时候 上溯时 子类中的成员变量和方法在内存中如何构造和流转,下溯时 父类中的成员变量和方法在内存中如何构造和流转?
你可以给oracle java团队写建议你所问的字符串都一直都存在。。其实这种继承关系,不管怎么变,始终都是先初始化父类变量,调用父类构造方法,再初始化子类变量,调用子类构造方法,记住这个原则就行楼主还不了解面向对象
Parent p = new Child(); -》》此处Child 中的child
是父类的引用指向子类的对象,
子类拥有父类访问权限的属性和方法