面向对象有三大特点:封装、继承、多态。(如果要回答四个,可加上抽象性这一特点)
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表
述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。
新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新
类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可
以修改或增加新的方法使之更适合特殊的需要。
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象
计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,
这些对象通过一个受保护的接口访问其他对象。
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和
包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的
解决了应用程序函数同名问题。
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前
目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时
不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
分配:由 JVM 自动为其分配相应的内存空间
释放:由 JVM 提供垃圾回收机制自动的释放内存空间
垃圾回收机制(GC:Garbage Collection):将垃圾对象所占用的堆内存进行回收。
Java 的垃圾回收机制是 JVM 提供的能力,由单独的系统级垃圾回收线程在空闲
时间以不定时的方式动态回收。
垃圾对象:不再被任何引用指向的对象
注意:调用了 System.gc();或 Runtime.getRuntime().gc();后不是立刻执行垃圾回收,该调用并不会立刻启动垃圾回收机制开始回收,但会加快垃圾回收机制的运行。