第一章 对象导论
1。所有的编程语言都提供过程抽象。Alan Key 面向对象基本特点
1) 万物皆对象。
2)程序是对象的集合,他们通过发送消息来告知彼此要做的事。
3)每个对象都是由其他对象构成的存储体。
4)每个对象都是一个类型。
5)某一特定类型的所有对象都可以接受同样的消息。
2。java提供了3中访问权限:public , private , protected. 和c++一样。
java还提供一个缺省访问权限"包访问权限":类可以访问同一个包中其他类的成员,但在包外,这些成员如同private.
3。 "is-a" 和"is-like-a"关系。子类只覆盖父类方法,它们有相同的接口。那么子类对象能完全替代父类,
这种关系称为 is-a.关系 ; 有时子类添加了新的接口,这个新类仍然 可以替代父类,这成为is-like-a关系。
4。java对象方法是晚绑定的。(c++中必须用virtual关键字)java使用特殊的代码来替代绝对地址的调用。
这段代码使用存储在对象的信息来计算地址。(见第7章)。
5。java的抽象类&接口。abstract: 描述尚未实现的方法。抽象方法只能在抽象类中创建,但该类被继承时,抽象
方法必须被实现,否则抽象类仍然是抽象类。interface:不允许有任何方法的定义,可以组合。
6。java是单根继承的。基类为Object.
7。java自动回收内存,new后不需要释放对象。
8。在jdk5.0后支持模板机制。
9。java用synchoronized支持多线程。
10。java 的每一个类都可以有一个main函数,建议都要写main,用来测试。
11。java的设计原则:KISS (KEEP IT SIMPLE AND STUPY)