笔记-Java基础(1)-<面向对象的特性><局部变量和成员变量>
1. 面向对象和面向过程的区别#
面向对象 | 面向过程 | |
---|---|---|
特性 | 封装、继承、多态 | 功能模块化,代码流程化 |
优点 | 易于维护、复用和拓展;低耦合 | 性能高 |
-
面向对象:认为世界由对象组成,对象与对象之间通过方法进行交互。以对像为中心,按功能划分问题。
优点:①结构清晰;②重用性高,易拓展、易维护
缺点:①性能较低(因为类的调用需要实例化,开销较大) -
面向过程:以事件(过程)为中心,将事件分解为一系列步骤,按顺序调用函数实现步骤。
优点:①编程流程化,任务明确;②效率性能高
缺点:①不适于处理复杂问题;②代码重用性低、拓展能力差,不便于维护
2. 面向对象的三大特性#
-
封装:把数据和操作数据的方法封装起来,对数据的访问只能通过已定义的接口。现实世界被描述成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
-
继承:子类可以继承父类的方法和实例变量,并根据自身的需要进行新增或修改。这体现了现实世界中一般与特殊的关系。
-
多态:多态是同一个行为具有多个不同表现形式(如George在学校是学校,在家里是儿子)。就是同一个接口,使用不同的实例而执行不同操作。具体体现在父类引用变量可以指向子类对象,如Parent p = new Child();
多态分为编译时多态(方法重载)和运行时多态(方法重写/覆盖)。
多态存在的条件:继承、重写、父类的引用指向子类对象
3.JDK、JRE、JVM的关系#
JDK(Java Development Kit),Java开发工具包
JRE(Java Runtime Environment),Java运行时环境
JVM(Java Virtual Machine),Java虚拟机
Java开发工具包 包括 Java运行时环境,Java运行时环境 包括 Java虚拟机。
本节补充#
创建子类的原理:
- 子类被创建时,首先会在内存(堆)中创建一个父类对象
- 然后在父类对象外部放上子类独有的属性(变量)
- 父类对象和子类独有的属性合起来就形成了一个子类对象
类的局部变量和成员变量在堆栈中的存储细节
- 补充:方法存储在JVM的方法区中
JVM运行时数据区
包括 JVM栈、本地方法栈、堆、方法区、程序计数器
标签:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通