《Java编程思想》第四版笔记


一、对象导论


 所有编程语言都提供抽象机制。

1.1 Java面向对象的语言五个基本特性


1)万物皆为对象;


2)程序是对象的集合,它们通过通过发送消息告诉彼此所要做的;


3)每个对象都有自己的有其他对象所构成的存储;


4)每个对象都拥有其类型,通俗说每一个对象都是某个类class的一个实例instance;


5)某个特定类型的所有对象都可以接收同样的消息,比如“圆形”类型的对象同时是“几何形”类型的对象,所以一个“圆形”对象必定能够接受发送给"几何形"对象的消息,在笔者看来可以理解为Java三大特性的多态。


1.2 每个对象都有一个接口


笔者表示不太理解,请大神们帮帮本小菜鸡


1.3 每个对象都提供服务


这个比较好理解


1.4 被隐藏的具体实现


访问控制的原因之一就是让其他程序员无法无法触及到他们不应该触及到的部分,原因之二允许其他程序员访问他们改访问的部分。也就是Java权限三个关键字:public、private、protected,还有一种默认的访问权限,包访问权限。


public :公众的 允许外包访问


private:私有的 不允许其他类访问


protected:继承的类可以访问


默认的权限:类可以访问同一个包中的其他成员。


1.5 复用具体实现


代码复用是面对对象程序设计语言最了不起的优点之一,听某叫兽说见了重复代码,就是见了粑粑(屎)一样,一定要提取出来,减少重复代码。


1.6  继承 单继承 


这个就不必要讲了,Java三大特性


1.7 “是一个”与“像是一个”关系


就是子类比父类多的方法 就是这种关系



1.8 伴随多态的可互换对象

1.9 参数化类型

1.10 对象的创建和生命期

在使用对象的最关键的问题之一,就是生成和销毁,每个对象都有自己的资源,尤其是内存。

对象的数据位于何处,怎么控制对象的生命周期?C++认为效率控制是最重要的议题。

对象的存储和生命周期可以在编写程序时确定,可以置于堆栈(有时称自动变量)或限制变量或者静态变存储区。

Java提供垃圾回收机制,它可以自动发现对象何时不再使用,继而销毁它。

1.11 异常处理