Java面向对象基础入门
Java面向对象基础详解(超全总结)
作者: 后端学习笔记
摘要: 本文系统梳理Java面向对象核心知识点,涵盖面向对象思想、类与对象、成员变量、方法、构造器、this关键字、对象创建流程、引用与内存模型,适合零基础入门与面试复习,内容通俗易懂、干货满满。
前言
面向对象是Java语言的核心基石,也是后端开发、Android开发、面试中必考的重点。本文从基础概念到代码实践,带你一次性吃透Java面向对象基础,建议收藏反复看!
一、面向对象思想
1. 面向过程
把问题拆成一步步的步骤,按顺序执行完成。
- 优点:简单直接
- 缺点:复用性差、扩展性低、维护困难
2. 面向对象(OOP)
先找出程序里的对象,把对象当作整体,通过对象之间的协作解决问题。
- 核心特征:封装、继承、多态
- 设计理念:一切客观事物皆可作为对象
二、对象与类
1. 对象
客观存在的具体事物,在Java中用对象表示。
2. 对象的组成
- 属性:对象的静态特征(如姓名、年龄),用变量表示
- 方法:对象的动态行为(如吃饭、工作),用方法表示
3. 类
对一组具有相同属性和行为的对象的抽象描述。
4. 类和对象的关系
- 类是对象的模板
- 对象是类的实例
- 一个类可以创建多个不同对象
三、类的组成(开发重点)
一个标准Java类包含三部分:成员变量(属性)、成员方法、构造方法。
1. 成员变量(属性)
描述对象的特征。
1.1 定义位置
类以内,方法以外
1.2 语法格式
java
数据类型 变量名;
数据类型 变量名 = 初始值;
1.3 常见错误
java
class A{
int value;
// value = 20; ❌ 错误:赋值不能单独写在方法外
}
1.4 成员变量默认值
数据类型 默认值
整数类型 0
浮点类型 0.0
字符类型 \u0000(空字符)
布尔类型 false
引用类型 null
1.5 成员变量 vs 局部变量(面试高频)
对比项 局部变量 成员变量
定义位置 方法内部 类内方法外
默认值 无,必须先赋值 有默认值
作用范围 当前代码块 整个类
命名冲突 同作用域不能重名 可与局部变量重名,优先局部变量
2. 成员方法
描述对象具备的功能与行为。
2.1 定义格式
java
public 返回值类型 方法名(参数列表) {
// 方法体
}
✅ 注意:成员方法不加 static
2.2 方法重载(Overload)
同一个类中,方法名相同,参数列表不同。
重载三要素
- 方法名必须相同
- 参数列表必须不同(个数、类型、顺序)
- 返回值、修饰符、异常不影响重载
❌ 注意:仅参数名不同,不构成重载
调用规则
编译器先精确匹配 → 就近向上转换匹配 → 匹配失败则编译报错。
3. 构造方法(构造器)
创建对象时自动调用,用于对象初始化。
3.1 核心特点
- 方法名必须与类名完全一致
- 没有返回值,连void都不能写
- 支持方法重载
- 不能手动调用,new对象时JVM自动执行
3.2 语法
java
public 类名() { }
public 类名(参数列表) { }
3.3 默认构造器
- 类中没写构造方法 → JVM自动提供无参public构造器
- 类中写了任意构造方法 → JVM不再提供默认无参构造器
3.4 开发规范
一个标准类建议提供:
- 无参构造方法
- 全参数构造方法
四、对象的创建与使用
1. 创建对象
java
类名 对象名 = new 类名();
2. 使用对象
操作属性
java
对象名.属性名 = 值; // 赋值
对象名.属性名; // 获取值
调用方法
java
对象名.方法名(实参);
五、this关键字(开发必备)
this 代表当前对象,可理解为“我”。
1. this. 用法
区分成员变量和局部变量:
java
public void setName(String name) {
this.name = name;
}
2. this() 用法
在构造方法中调用本类其他构造方法:
java
public Student() {
this("默认姓名", 18);
}
必须遵守
- 必须写在构造方法第一行
- 不能形成循环调用
六、对象创建全过程(三步)
1. 分配内存空间 → 成员变量赋默认值
2. 显式初始化 → 成员变量赋定义时的值
3. 执行构造方法 → 赋最终值
七、引用与内存模型(难点)
1. 引用
对象类型的变量就是引用,存储对象在堆内存的地址。
2. JVM内存划分
- 栈内存:存放引用变量
- 堆内存:存放真正的对象实例
3. 空指针异常(NPE)
当引用值为 null 时,调用属性/方法会抛出:
java.lang.NullPointerException
4. 赋值区别
- 基本类型:传递数据值
- 引用类型:传递地址值
全文总结
1. 面向对象三大特性:封装、继承、多态
2. 类是模板,对象是实例
3. 类 = 成员变量 + 成员方法 + 构造器
4. 方法重载:同名、不同参
5. this:区分变量、调用构造器
6. 对象存在堆,引用存在栈
7. 避免空指针:使用前判断 !=null
结语
本文覆盖Java面向对象入门+开发+面试全部核心点,内容通俗易懂、结构清晰,非常适合初学者系统学习。
如果对你有帮助,欢迎点赞、收藏、关注,后续会持续更新Java进阶内容(封装、继承、多态、接口、抽象类等)!
更多推荐



所有评论(0)