
Java 继承
1. Java中子类到底有没有继承父类的私有变量
官方文档的解释:“A subclass does not inherit the private members of its parent class. However, if the superclass has public or protected methods for accessing its private fields, these can also be used by the subclass.”。
- 从继承的角度来说,private和final不能被继承,但是我们可以通过public或者protected方法访问私有变量,Java官方文档上这么说的
- 从内存的角度来说,父类的一切都被继承(从父类构造方法被调用就知道了,因为new一个对象,就会调用构造方法,子类被new的时候会调用父类的构造方法。所以从内存的角度来说,子类拥有一个完整的父类)。子类对象所引用的内存有父类变量的一份拷贝。如图: