1,java是真正面向对象的语言。
2,包访问权限,类没有public,protected,private关键系修饰时,类可以调用同一个包的其他类的方法,但在包之外,这些成员如同指定了private一样。
3,复用组合(composition):使用现有的类合成新的类;聚合(aggregation):如果组合是动态发生的,称为聚合。
4,前期绑定和后期绑定前期绑定:非面向对象编程的编译器产生的函数调用产生的叫前期绑定。后期绑定:面向对象编程的编译器产生的函数调用产生的叫后期调用。 C++的类方法,添加了virtual的修饰词,就是动态绑定。默认不是动态绑定。 java的类方法,恰恰相反,函数默认是动态绑定的,不用额外添加virtual修饰词。
5,单根继承结构 c++语言之外的所有的面向对象的语言都是单根继承。即所有的类最终都继承自单一的基类,这个终极的基类的名字叫Object,单根继承系统对垃圾回收器和系统级操作,比如异常处理就变得容易了,所有的类对象都具有某些类性特征,不会因为无法确定对象的类型而陷入僵局