Think in java
第一章:对象导论
1.万事万物皆对象:可以存储数据,还有操作能力
2.程序是成堆的对象,彼此通过消息的传递,请求其他对象进行工作
3.每个对象都拥有其他对象所构成的记忆:封装既有的对象方式产生新型对象
4.每个对象皆有其类型(Type,class)
5.同一类型的所有对象接受的信息皆相同
重复运用实现码
- 继承,可以复用父类的代码
- 组合(composition,拥有关系)或聚合(aggregation),将其他对象作为自己的成员变量
后期绑定(late binding)
java将所有的member functions缺省为动态绑定(后期绑定),无需加上任何的关键字即可获得多态(polymorphism)的威力
多态:向上转型(upcasting)
将子类看成父类使用过程。即父类引用可以指向子类对象:Father f=new Children();
注意该父类引用无法访问子类的新成员。
抽象基类和接口
你不希望任何人产生基类(base class)的实际对象,而只希望他们向上转型至基类(base class),可以将该基类声明为抽象类。
接口(interface),阻止任何一个函数的被定义出来。
单继承体系
所有的对象都有共通接口,所以最终它们都属于相同的type.
保证所有对象都有某些功能
使得垃圾回收器的实现更加容易,比如Object类的finalize方法,可以发送信息给所有Object类下的对象
持久性
Java提供了“轻量级持久性(light weight persistence)”,可以将你的对象保存在磁盘上,便于日后取回。