一、面向对象 vs 面向过程
- 面向过程:把问题拆成一步步流程,按顺序执行完成任务。
- 面向对象:先找出问题中的「对象」,以对象为单位组织代码,通过对象交互解决问题,更适合复杂项目。
二、对象与类:核心关系
- 对象:现实世界事物在程序中的映射,包含静态属性和动态行为。
- 类:一组相同对象的模板,定义对象拥有哪些属性和方法。
- 关系:类是模板,对象是类的实例;一个类可以创建多个对象。
三、类的三大组成:属性、方法、构造器
1. 属性(成员变量)
属性描述对象特征,定义在类内、方法外,自带默认值:
- 整数:0
- 浮点数:0.0
- 字符:
\\u0000 - 布尔:false
- 引用类型:null
成员变量 vs 局部变量
- 位置:成员变量在类内方法外;局部变量在方法内。
- 默认值:成员变量有默认值;局部变量必须手动赋值。
- 作用域:成员变量全类有效;局部变量仅限当前代码块。
- 命名冲突:同作用域局部变量不可重名;成员变量可与局部变量重名,方法内优先局部变量。
2. 成员方法
方法描述对象行为,定义在类内、方法外,不加 static。方法重载:同一个类中,方法名相同、参数列表(个数 / 类型 / 顺序)不同,与返回值、修饰符无关。仅参数名不同不算重载。
3. 构造方法(构造器)
用于创建对象并初始化属性,特点:
- 方法名与类名完全一致
- 无返回值(连 void 都不写)
- 支持重载
- 创建对象时 JVM 自动调用,不能手动调用
规则:
- 类中无构造器时,JVM 自动提供无参构造。
- 若定义了有参构造,默认无参构造会消失,建议手动保留无参构造。
四、对象创建与使用
已生成代码
五、this 关键字:两种用法
- this.:代表当前对象,用于区分成员变量和局部变量。
- this():在构造器中调用本类其他构造器,必须写在第一行,避免循环调用。
六、对象创建的三步流程
- 分配堆内存,属性赋默认值。
- 执行属性显式初始化。
- 执行构造方法,完成最终赋值。
七、引用与内存
- 引用变量存储对象在堆中的首地址。
- 引用赋值是传递地址,多个引用可指向同一个对象。
- 引用为 null 时调用属性 / 方法,会抛出空指针异常(NullPointerException)。
总结
面向对象的核心是封装、以对象为单位,掌握类、对象、成员变量、方法、构造器、this 和引用,就能写出规范的 Java 类,为后续继承、多态、封装打下扎实基础。
建议初学者多写实体类,练习无参 / 有参构造、this 用法、方法重载,把基础打牢。"""
print(blog_content)
Java 面向对象入门:从思想到实战全解析
面向对象是 Java 开发的核心思想,也是后端编程必须吃透的基础。本文用通俗逻辑梳理 OOP 核心知识点,覆盖思想、类与对象、成员变量、方法、构造器、this 关键字与内存原理,帮你快速搭建面向对象知识体系。
一、面向对象与面向过程的区别
- 面向过程:把问题拆解成线性步骤,按流程一步步执行完成需求,适合简单逻辑场景。
- 面向对象:先提取问题中的核心对象,以对象为整体单元,通过对象间的协作完成问题解决,更适配复杂项目开发。
二、对象与类:核心基础概念
- 对象:现实世界中的具体事物,在 Java 里的程序映射,万事万物皆可抽象为对象。
- 对象构成:静态特征用属性表示,动态行为用方法表示。
- 类:对一批共性对象的抽象描述,定义这类对象包含的属性与方法。
- 二者关系:类是对象的模板,对象是类的实例,一个类能创建多个独立对象。
三、类的核心组成:属性、方法、构造方法
1. 属性(成员变量)
属性用来描述对象的特征,定义在类以内、方法以外,也叫成员变量。
- 语法:
数据类型 变量名;或声明时直接赋值,不可先声明再单独赋值。 - 默认值:整数 0、小数 0.0、字符空值、布尔 false、引用类型 null。
- 作用范围:当前类内全局可用。
- 命名规则:同类内属性不可重名,可与局部变量重名,方法内优先使用局部变量。
成员变量与局部变量核心区别
- 位置:成员变量在类内方法外,局部变量在方法 / 代码块内。
- 默认值:成员变量有默认值,局部变量无默认值,必须先赋值再使用。
- 作用域:成员变量全类有效,局部变量仅限所在代码块。
2. 成员方法
方法描述对象的功能行为,定义在类内、其他方法之外,无需加 static。
- 语法:
修饰符 返回值类型 方法名(参数列表){方法体}。 - 方法重载:同类中方法名相同,参数列表(个数、类型、顺序)不同,与返回值、修饰符无关;仅参数名不同不构成重载。
- 重载作用:让方法调用更灵活,适配不同参数场景。
3. 构造方法(构造器)
构造方法是创建对象的特殊方法,核心作用是初始化对象属性。
- 特点:方法名与类名完全一致、无返回值(不写 void)、支持重载、不可手动调用。
- 调用规则:创建对象时 JVM 自动调用,一个对象仅调用一次。
- 注意:类中无构造方法时,JVM 默认提供无参构造;定义有参构造后,默认无参构造失效,建议手动编写无参 + 有参构造。
四、对象的创建与使用
- 创建语法:
类名 对象名 = new 类名(); - 使用方式:
对象名.属性访问 / 赋值属性,对象名.方法名(实参)调用方法。
五、this 关键字的两种用法
- this.:代表当前对象,用于区分成员变量和局部变量,解决命名冲突。
- this():在构造方法中调用本类其他构造器,必须写在构造方法第一行,避免循环调用。
六、对象创建的完整流程
- 分配堆内存空间,为属性赋默认值。
- 执行属性显式初始化。
- 执行构造方法,完成最终属性赋值。
七、引用与内存机制
- 引用:对象类型的变量,存储对象在堆内存的首地址。
- 赋值规则:引用赋值传递地址,基本类型赋值传递数值。
- 空指针异常:引用为 null 时,调用属性或方法会抛出
NullPointerException。

4万+

被折叠的 条评论
为什么被折叠?



