Java面向对象本质是建模现实世界的思维方式:类为模板定义属性与行为,对象为实例封装独立状态与共享逻辑;封装通过private+getter/setter控制访问并校验数据;继承支持单继承复用与分层;多态依托父类引用指向子类对象实现运行时动态绑定。

Java中的面向对象思想,本质是用“类”组织代码、用“对象”封装数据与行为。它不是语法技巧,而是一种建模现实世界的思维方式:把人、车、订单、账户这些实体抽象成类,再创建具体实例去操作。
类是模板,对象是实例
类(class)就像设计图纸,定义了对象该有哪些属性(比如name、age)和能做什么(比如login()、pay());对象则是按图纸造出来的具体产品,通过new Student()这样的语句生成。每个对象拥有独立的状态,但共享同一套行为逻辑。
封装:控制谁能看到、谁能改
不让外部直接碰属性,而是用private把字段藏起来,只开放public的getter/setter方法——这不是形式主义,而是为了加校验、防误改、留扩展空间。
- 比如设置年龄时自动检查是否在0–120之间
- 返回集合时做防御性拷贝,避免外部修改内部数据
- 用final修饰不可变字段(如账号ID),保证标识稳定
继承:复用+分层+演进
子类通过extends复用父类的非私有成员,同时可新增或重写方法。Java只支持单继承,但正因如此,结构更清晰、语义更明确。
立即学习“Java免费学习笔记(深入)”;
- 所有类默认继承Object,天然具备toString()、equals()等基础能力
- 构造器里用super()确保父类初始化先行
- 子类重写方法时,访问权限不能比父类更严格(比如父类是protected,子类不能改成private)
多态:同一调用,不同响应
核心是“父类引用指向子类对象”,比如Animal a = new Dog(); a.speak();。运行时才决定执行Dog的speak(),而不是Animal的。这使得代码更灵活、可插拔。
- 依赖抽象(如接口或父类),不依赖具体实现
- 新增子类无需修改已有调用方代码
- 方法重载(同名不同参)是编译期绑定,不算真正多态;只有重写+向上转型才是运行时多态










