1、子类A继承了父类(超类,基类)B,那么A就继承了B中所有的成员(包括那些父类中私有的,而且private的),子类可以通过getXxx()方法得到
2、这是一张UML(UML是统一建模语言(UnifiedModelingLanguage)的缩写),是向上转型的依据(由来)。
向上转型:将导出类看作是他的基类的过程。
3、is-a和is-like-a
is-a就是“是一个”,子类和父类拥有的接口,他们是完全相同的类型,可能只是改写了属性的值或方法的实现,但是没有新的元素加入,通常称之为替代原则。
is-like-a就是“像是一个”,下图可以说清楚这件事,例如子类有了新的元素(方法或属性)
4、除了C++以外的所有OOP语言都是单继承结构(单根继承结构)。JAVA的根类是Object。
优点1、保证所有对象都具有某些功能 2、使垃圾回收器的实现变得容易(由于所有对象都保证具有其类型信息,因此不会因无法确定对象的类型而陷入僵局)。
5、Java完全采用了动态内存分配方式。
6、Java的垃圾回收器被设计用于处理内存释放的问题(尽管他不包括处理对象的其他方面)。
7、
A a = new B();//向上转型 编译类型>运行类型-> 向上转型,
B b = (B)a;//向下转型,这里是可以的