Java面向对象是语法之上的思维升级:类为模板、对象为实例;封装用private+getter/setter保障安全;继承实现复用,多态支持灵活扩展;构造方法初始化对象,static成员属于类本身。

Java 基础语法和面向对象(OOP)不是两套独立知识,而是层层递进的整体:语法是骨架,OOP 是思维和组织方式。掌握核心不靠死记,而在于理解“类怎么定义、对象怎么用、封装继承多态各自解决什么问题”。下面直击关键点,帮你快速理清主线。
类与对象:从模板到实例的完整链条
类是抽象模板,对象是具体个体。没有类就无法创建对象,一个类可生成无数个对象。
- 类定义必须包含成员变量(属性)和成员方法(行为),例如:String name; 和 public void study() { ... }
- 对象创建固定写法:Student stu = new Student();
- 对象使用通过点号(.)调用:stu.name = "王芳"; stu.study();
- 成员变量在类内所有方法中都可直接访问;局部变量只在定义它的方法内有效,同名时优先使用局部变量
封装:用 private + getter/setter 控制访问
封装不是“不让别人看”,而是“只暴露该暴露的”。核心是权限控制 + 合理接口。
- 成员变量通常用 private 修饰,禁止外部直接修改
- 提供公共的 getXXX() 和 setXXX(...) 方法,可在 set 中加入校验逻辑(如年龄不能为负)
- this 关键字用于区分同名的局部变量与成员变量,例如:this.name = name;
继承与多态:复用与灵活的组合拳
继承解决代码复用,多态解决行为扩展。二者常一起出现,但概念要分开理解。
立即学习“Java免费学习笔记(深入)”;
- 继承用 extends 实现,子类自动获得父类非私有成员(字段和方法)
- 方法重写(Override)是多态的基础:子类重写父类方法,运行时根据实际对象类型决定调用哪个版本
- 方法重载(Overload)发生在同一个类中,仅看方法名和参数列表,与返回值无关
- 常见多态写法:Animal a = new Dog(); a.sound(); —— 编译看左边(Animal),运行看右边(Dog)
构造方法与 static:初始化与共享资源
构造方法负责对象诞生那一刻的状态设置;static 修饰的成员属于类本身,不依赖对象存在。
- 构造方法名必须与类名完全相同,无返回值类型(连 void 都不能写)
- 若未定义任何构造方法,系统默认提供无参构造;一旦自定义,就必须显式写出需要的构造方法
- static 变量被所有对象共享,static 方法只能访问 static 成员,不能用 this 或 super
- main 方法必须是 public static void main(String[] args),这是 JVM 启动入口的硬性约定


















