(1)面向对象的基本特征
面向对象程序设计的精髓是:抽象性、封装性、继承性、多态性。不仅包含对象和类,还围绕着消息、继承、接口等概念和机制展开。
1.封装
封装就是将相关数据和方法放到一个包里,其作用是把类设计成一个黑箱,使用户只能看见类具有的公共方法,看不到方法实现的细节,也不能直接对类的数据进行操作,迫使用户只能通过接口访问数据。
2.消息
OOP使用消息传递机制来联系对象,消息传递是对象之间进行交互的主要方式。
Java具有特定的事件处理机制来传递消息,使不同的对象联系在一起,完成不同的、复杂的功能。
3.继承
OOP允许由一个类定义另一个类,由已有类派出新的类即子类,从而构成了类的层次关系,即类的继承。
继承不但可以发生在同一个层次上,也可以发生在不同的层次上,这种继承形成了一棵倒置的树,其根为Object类所有层次的类都是从Object类衍生下来的。
继承使父类的代码得到重用,在继承父类提供的共同特征的基础上添加新的代码,提高的编程效率。
4.接口
(2)对象的回收
Java语言提供“自动回收垃圾”的机制。
具体过程:Java程序运行过程中有一个软件实现“垃圾回收器”。但一个对象 正在处于被引用状态时,Java运行系统会对其对象的存储空间做一个标记;当结束对象引用时,自动地取消这个标记。Java“垃圾回收器”周期性的扫描程序中所有对象的引用标记,没有标记的对象就被列入清除队伍中。待系统空闲或需要存储空间时将其资源回收。