为什么java子类能赋给父类,父类却不能赋给子类

通过实践我们会发现:

1、当new一个子类时,会先去调用父类的构造器。

2、当在子类里调用父类时,用的是super关键字。

所以结论如下:

1)子类里有一个区域放的父类的实例,子类内存区里有一个this指针,指向了这个内存区里包括的父类实例区,当把引用付给父类时,是把子类内存区里面的父类实例区域的引用给了父类的实例.

2)super相当于指向父类示例的一个指针; 子类只保存子类的信息和super指针; 当JVM加载一个子类的时候也会把它的父类一同加载的,子类内部通过super保存父类的一个引用

猜你喜欢

转载自www.cnblogs.com/kuibuqianli/p/9163214.html