面向对象 | 面向过程 | |
---|---|---|
特性 | 封装、继承、多态 | 功能模块化,代码流程化 |
优点 | 易于维护、复用和拓展;低耦合 | 性能高 |
面向对象:认为世界由对象组成,对象与对象之间通过方法进行交互。以对像为中心,按功能划分问题。
优点:①结构清晰;②重用性高,易拓展、易维护
缺点:①性能较低(因为类的调用需要实例化,开销较大)
面向过程:以事件(过程)为中心,将事件分解为一系列步骤,按顺序调用函数实现步骤。
优点:①编程流程化,任务明确;②效率性能高
缺点:①不适于处理复杂问题;②代码重用性低、拓展能力差,不便于维护
封装:把数据和操作数据的方法封装起来,对数据的访问只能通过已定义的接口。现实世界被描述成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
继承:子类可以继承父类的方法和实例变量,并根据自身的需要进行新增或修改。这体现了现实世界中一般与特殊的关系。
多态:多态是同一个行为具有多个不同表现形式(如George在学校是学校,在家里是儿子)。就是同一个接口,使用不同的实例而执行不同操作。具体体现在父类引用变量可以指向子类对象,如Parent p = new Child();
多态分为编译时多态(方法重载)和运行时多态(方法重写/覆盖)。
多态存在的条件:继承、重写、父类的引用指向子类对象
JDK(Java Development Kit),Java开发工具包
JRE(Java Runtime Environment),Java运行时环境
JVM(Java Virtual Machine),Java虚拟机
Java开发工具包 包括 Java运行时环境,Java运行时环境 包括 Java虚拟机。