理解一:
子类会继承父类的所有属性和方法,至于能不能直接访问,那就是访问权限的问题了。
例如:父类有个private String name; 属性。子类会继承下来,但子类访问不了,因为是private属性。但可以通过getName()方法获取name属性。
理解二:
从继承的概念来说,private和final不被继承
从内存的角度来说,父类的一切都被继承(从父类构造方法被调用就知道了,因为new一个对象,就会调用构造方法,子类被new的时候就会调用父类的构造方法,所以从内存的角度来说,子类拥有一个完整的父类)
访问权限:
下面用表格的形式来展示四种访问权限之间的异同点,这样会更加形象。表格如下所示:
同一个类 |
同一个包 |
不同包的子类 |
不同包的非子类 |
|
Private |
√ |
|||
Default |
√ |
√ |
||
Protected |
√ |
√ |
√ |
|
Public |
√ |
√ |
√ |
√
|
参考:http://bbs.csdn.net/topics/380260428