Java 面向对象知识整理(一)
·
Java 面向对象知识整理
1️⃣ 基础概念
类(Class)
- 描述一个群体,是对象的模板。
- 包含数据(属性)和方法(行为)。
对象(Object)
- 类的实例,代表具体事物。
- 在内存中占据一块区域(堆内存)。
- 谁的数据谁存储,例如学生的数据存储在学生对象里。
面向对象(OOP)
- 把相关的数据和方法组成整体来看,万物皆对象。
- 原则:谁的数据谁存储,谁的方法谁调用。
2️⃣ 创建对象
ClassName obj = new ClassName(); // new 类名()
- 先有类,再有对象。
- 构造器(Constructor)在对象创建时初始化数据。
this 关键字
- 指代当前对象。
- 用于解决变量名称冲突,例如构造器参数和成员变量同名:
public class Student {
private String name;
public Student(String name) {
this.name = name; // this.name 指成员变量
}
}
3️⃣ 封装(Encapsulation)
- 合理隐藏、合理暴露。
- 成员变量一般声明为
private,通过get/set方法访问。
实体类(Entity Class)
- 只存取数据,不做业务处理。
- 便于数据与业务分层。
4️⃣ 静态成员(static)
- 静态变量 / 静态方法属于类,不属于对象。
- 调用方式:
ClassName.staticMethod()或ClassName.staticField。
用途
- 数据只需要一份,需要被共享时。
- 工具类通常用静态方法。
注意
- 静态方法不能直接访问对象成员变量。
- 静态方法中没有
this。
5️⃣ 继承(Inheritance)
- 描述类与类之间的关系,让子类继承父类的属性和方法。
目的
- 减少重复代码。
- 提升代码可维护性和扩展性。
继承规则
- Java 单继承(每个类只能继承一个父类),可多层继承。
- 就近原则:访问属性/方法优先使用子类,再父类。
super:调用父类方法或构造器。this:调用本类的其他构造器,两者不能同时出现。
方法重写(Override)
- 子类可以重新实现父类方法。
- 注解
@Override可增强可读性和安全性。
限制
- 子类权限 ≥ 父类权限
- 返回类型可协变(子类可缩小)
- 私有方法、静态方法不能被重写
常见场景
- 重写
toString()方法
6️⃣ 多态(Polymorphism)
前提
- 继承/实现关系 + 方法重写。
表现
Animal a = new Dog(); // 多态
a.eat(); // 调用的是 Dog 的 eat 方法
多态优点
- 解耦:右边对象可自由扩展,不影响父类引用。
- 易扩展和维护:父类作为参数,可以接受任意子类。
多态缺点
- 不能调用子类独有功能,需要类型判断后向下转型。
7️⃣ 类设计建议
- 合理设计构造器:初始化必需属性。
- 封装:私有变量 + get/set。
- 静态成员:仅用于共享数据或工具方法。
- 继承:减少重复,注意单继承、多层继承规则。
- 多态:用于解耦和扩展,但需注意子类独有方法访问问题。
- 实体类:只存数据,业务与数据分层。
更多推荐

所有评论(0)