Java面向对象编程通过类抽象实体共性、对象表示具体个体,用封装控制访问、继承表达层次关系、多态实现行为差异,本质是选取问题相关特征建模而非复制现实。

Java 中用类与对象描述现实世界实体,核心是把“事物”抽象成类,把“具体个体”实例化为对象。关键不是照搬现实,而是抓住本质特征和行为,剔除无关细节。
用类定义实体的共性特征与能力
类是对一类事物的模板式描述。比如“学生”这个概念,现实中每个人不同,但都有姓名、学号、年级这些共同属性;都会“学习”“考试”“选课”这些共同行为。在 Java 中,就用 成员变量 表示属性,用 方法 表示行为:
- 成员变量(如
String name、int grade)对应实体的状态信息 - 方法(如
void study()、double getAverageScore())对应实体能做的事 - 构造方法负责创建对象时初始化关键状态,比如
Student(String name, int id)
用对象表达现实中的具体个体
类只是蓝图,真正参与程序运行的是对象。每个对象拥有独立的一份属性数据,但共享同一套方法逻辑。例如:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
Student s1 = new Student("张三", 2021001);表示现实中一个叫张三的学生 -
Student s2 = new Student("李四", 2021002);是另一个独立个体,他有自己的姓名和学号 - 调用
s1.study()不会影响s2的状态,就像张三上课不会改变李四的成绩
通过封装让对象更贴近真实世界的边界感
现实中的实体有“自己的事自己管”的边界,比如学生自己保管成绩,不随便让外人直接改分数。Java 用访问修饰符实现这种控制:
立即学习“Java免费学习笔记(深入)”;
- 把属性设为
private,防止外部随意修改 - 提供
public的 getter/setter 方法,在方法里加入校验逻辑(比如分数必须在 0–100 之间) - 这样既暴露必要接口,又隐藏内部实现,符合现实逻辑
用继承和多态反映实体间的层次关系
现实世界存在天然分类结构:动物 → 哺乳动物 → 狗;车辆 → 汽车 → 电动车。Java 用继承表达“是一种”的关系,用多态体现同类不同表现:
- 定义父类
Animal包含通用属性(名字)和抽象行为(makeSound()) - 子类
Dog和Cat分别重写makeSound(),实现“汪汪”和“喵喵” - 一段代码处理
Animal类型对象时,无需知道它实际是狗还是猫,运行时自动调用对应行为

















