零基础吃透 Java 面向对象:类、对象、this 与 static 实战
Java 面向对象基础:类与对象
一、章节整体框架
本章共六大核心模块,由浅入深构建面向对象知识体系:
1. 面向对象概述
2. 类的定义
3. 对象的创建与使用
4. 方法重载
5. this 关键字
6. static 关键字
本章内容是后续封装、继承、多态的基础。
二、面向对象概述(OOP 思想核心)
1. 面向对象的核心定义
面向对象是一种符合人类思维习惯的编程思想。
现实世界:由不同事物组成,事物之间存在联系与交互。
程序映射:用对象映射现实事物,用对象关系描述事物联系。
2. 面向过程 vs 面向对象(关键对比)
3. 面向对象三大特征
封装、继承、多态。
本章重点围绕封装展开。
三、类与对象(基础中的基础)
1. 类的概念
类(Class):对一类事物的共同属性和行为进行抽象。
类是对象的模板、蓝图、设计图纸。
2. 对象的概念
对象(Object):类的具体实例。
一个类可以创建多个独立对象。
3. 对象创建语法
java
类名 对象名 = new 类名();
四、成员变量与局部变量(核心易错点)
1. 成员变量
定义位置:类内、方法外
有默认值:
int → 0
double → 0.0
boolean → false
引用类型 → null
作用域:整个类内有效
存储:堆内存,隶属于对象
可使用访问修饰符(public、private 等)
2. 局部变量
定义位置:方法内或代码块内
无默认值,使用前必须手动赋值
作用域:定义处 → 所在 {} 结束
存储:栈内存
不能使用访问修饰符
3. 变量同名规则(重点)
成员变量与局部变量允许同名。
方法内遵循就近原则,优先访问局部变量。
若需访问成员变量,使用 this.变量名 。
4. 局部变量作用域规则
嵌套作用域:不允许定义同名局部变量(会报错)
互不嵌套作用域:可以定义同名变量(相互独立)
五、成员方法(类的行为与功能)
1. 成员方法概念
成员方法描述类的行为、操作、功能,是可复用的逻辑模块。
2. 方法标准语法
java
[修饰符] 返回值类型 方法名(参数列表) {
// 方法体
[return 返回值;]
}
3. 方法五要素
1. 修饰符(访问权限)
2. 返回值类型(void 表示无返回值)
3. 方法名(小驼峰,见名知意)
4. 参数列表(输入数据)
5. 方法体(功能实现)
4. return 语句
有返回值: return 结果;
无返回值: return; (用于提前结束方法)
5. 流程控制关键字区别
break :跳出循环 / switch
continue :跳过本次循环,进入下一次
return :直接结束整个方法
6. 方法形参规则
如果方法需要的数据已经是成员变量,形参列表可以为空,直接访问成员变量即可。
六、方法重载(重载规则详解)
1. 方法重载定义
在同一个类中,方法名相同,参数列表不同。
2. 参数列表不同指
参数个数不同
参数类型不同
参数顺序不同(类型不同时)
3. 注意事项
返回值不同不构成重载
重载是为了统一功能命名,提高代码可读性
七、访问控制修饰符(封装的核心)
Java 提供四种访问权限:
private < default < protected < public
权限范围表
使用习惯
成员变量通常设为 private
对外提供 public get/set 方法
工具方法用 default/protected/public 按需设置
八、this 关键字(当前对象引用)
1. 作用
代表当前对象自身
2. 三种主要用法
1. 区分成员变量与局部变量同名
java
this.name = name;
2. 调用本类其他方法
java
this.方法名();
3. 调用本类构造方法(必须在第一行)
java
this(参数);
九、static 关键字(类级成员)
1. static 含义
被 static 修饰的成员属于类,不属于某个对象。
2. 静态变量
所有对象共享一份数据
访问方式: 类名.静态变量
3. 静态方法
可通过 类名.方法名() 直接调用
不能直接访问非静态成员(非静态属于对象)
静态方法不能使用 this
4. 静态代码块
在类加载时执行一次
常用于初始化静态资源
十、构造方法(对象初始化)
1. 定义规则
方法名与类名完全相同
没有返回值类型(连 void 都不写)
2. 作用
创建对象时初始化成员变量。
3. 特点
若不写,编译器自动生成无参构造
支持重载
十一、封装思想(OOP 核心体现)
1. 封装目的
隐藏内部数据,对外提供必要接口。
2. 封装实现方式
成员变量用 private
对外提供 public get/set 方法
3. 优势
数据安全
可维护性高
降低耦合
十二、完整代码示例(来自多轮对话合并择优)
1. 类的定义与对象创建
java
public class Person {
// 成员变量
String name;
int age;
// 方法
public void introduce() {
System.out.println("姓名:" + name + ",年龄:" + age);
}
}
2. 带参数方法
java
public void study(String course) {
System.out.println(name + "正在学习:" + course);
}
3. 带返回值方法
java
public int add(int a, int b) {
return a + b;
}
4. 综合实战示例
java
public class Student {
String name;
int score;
public void setInfo(String n, int s) {
name = n;
score = s;
}
public char getLevel() {
if (score >= 90) return 'A';
else if (score >= 80) return 'B';
else return 'C';
}
}
十三、学习建议
1. 理解“类是模板,对象是实例”的核心关系。
2. 熟练写类、写成员变量、写成员方法。
3. 掌握 new 创建对象并调用成员。
4. 搞懂 this 的三种使用场景。
5. 分清 static 成员与实例成员的调用方式。
6. 本章是封装、继承、多态的基础,务必打牢。
十四、最终完整知识体系图(本章整体逻辑)
面向对象思想 → 类的抽象 → 对象的实例 → 成员变量与方法 → 访问控制 → 封装 → this & static → 后续继承与多态
