Java面向对象核心知识点总结(类与对象、构造方法、Getter/Setter、内存执行机制)
一、面向对象基础思想
1. 什么是面向对象?
Java 是一门纯面向对象语言,核心思想:将现实事物抽象成类,通过创建对象完成业务交互。
区别于面向过程(侧重步骤、函数),面向对象侧重模板、实体、行为交互,代码复用性、维护性、扩展性更强。
2. 面向对象四大核心特征
封装:隐藏内部数据,对外提供安全访问入口
继承:实现代码复用,建立类的层级关系
多态:同一行为不同实现,提高程序扩展性
抽象:抽取共性特征,忽略细节
3. 类与对象的核心关系
类(Class):模板、蓝图,定义属性(成员变量)和行为(成员方法)
对象(Object):类的实例,是模板具体化出来的个体
一句话总结:类是抽象模板,对象是具体实例。
二、构造方法与对象创建原理
1. 对象创建本质
通过new 类名()创建对象,本质是:向JVM申请堆内存、实例化对象、初始化成员变量、调用构造方法。
2. 静态方法与非静态方法区别
非静态方法:属于对象,必须通过对象调用
静态方法(static):属于类,直接通过类名调用,无需创建对象
三、访问器(Getter)与更改器(Setter)
1. 作用定义
Getter(访问器):读取私有成员变量的值
Setter(更改器):修改私有成员变量的值
2. 核心意义(考试/面试重点)
将成员变量私有化(private),并提供 Getter/Setter,目的有两个:
实现封装:禁止外部直接篡改核心数据,保护类内部状态
数据校验:在 Setter 中可以加入判断逻辑,拦截非法数据,保证数据安全
这是 Java 面向对象封装特性最典型的落地写法。
四、Java内存模型与程序执行流程(重难点)
1. 核心内存区域
栈内存:存放局部变量、方法栈帧,方法执行完毕立即释放
堆内存:存放所有 new 出来的对象、数组,由GC回收
2. 方法调用的核心规则:拷贝机制
课堂重点结论:方法调用是拷贝。
每次调用方法,JVM 会在栈中开辟新栈帧,拷贝变量/引用地址,不会影响原方法栈数据。
3. 增强for循环(for-each)底层内存机制
增强 for 循环遍历数组/集合时:
栈中生成临时引用变量
临时变量拷贝堆中对象的地址
通过地址操作原对象,因此修改属性会直接影响堆中原始对象
这也是为什么 for-each 可以修改对象属性,但不能修改数组/集合元素引用的根本原因。
五、总结
打通了 Java 面向对象的底层逻辑:从类与对象的关系→对象创建与构造方法→封装与Getter/Setter规范→内存执行原理与for-each底层机制,让我们从“会写代码”进阶到“懂底层、懂原理”。
面向对象所有特性,最终都可以落到内存分配、引用传递、封装权限三个核心点上。