Java编程思想-对象导论

《Java 编程思想》第一章-对象导论,阅读笔记。

Java 的四种访问权限

  • public:公开访问权限
  • default:默认访问权限,又称为“包访问权限”,也就是说只能在同一个包中可被访问
  • protected:保护访问权限,仅子类可访问
  • private:私有访问权限,只能类本身可被访问

组合和聚合

使用现有的类合成新的类,这种概念称为组合(composition)。
如果组合是动态发生的,那么它通常被称为聚合(aggregation)。

优先使用组合而不是继承。

多态的实现

面向过程的编程语言的编译器产生的函数调用会引起所谓的前期绑定:这也就意味着编译器将产生对一个具体函数名字的调用,而运行时将这个调用解析到将要被执行的代码的绝对位置。
而面向对象的编程语言的编译器产生的函数调用使用了后期绑定,也就是说编译器并不知道将被执行的确切代码。为了执行后期绑定,Java 使用一小段特殊的代码来替代绝对地址调用。这段代码使用在对象中存储的信息来计算方法体的地址。

转型

向上转型:使用父类替代所有的子类(安全)
向下转型:将父类转换为某一个具体的子类(不安全,有可能产生运行期异常)