
前言Java是一门纯面向对象的编程语言面向对象思想也是Java整个体系的核心。面向对象分为两大阶段1. 基础面向对象类与对象、封装、构造方法、成员变量与局部变量2. 面向对象进阶继承、重写、多态、抽象类、接口、权限修饰符、内部类、static、final一、面向对象思想概述① 什么是面向对象面向对象是一种编程思维- 将现实事物抽象成类- 将具体个体实例化为对象- 通过对象调用功能完成业务逻辑面向过程注重步骤、流程、怎么做面向对象注重实体、角色、谁来做Java核心特征三大件封装、继承、多态二、面向对象基础① 类和对象- 类模板、抽象概念学生类、手机类- 对象类的具体实例张三、iPhone14语法格式// 定义类 public class Student { // 成员变量 String name; int age; // 成员方法 public void study(){ System.out.println(name 正在学习); } }创建对象并使用public class Test { public static void main(String[] args) { // 创建对象 Student s new Student(); // 赋值 s.name 小明; s.age 19; // 调用方法 s.study(); } }② 成员变量 vs 局部变量1. 成员变量类中方法外堆内存默认初始化值2. 局部变量方法内栈内存必须手动初始化默认值规则- int 0- double 0.0- boolean false- 引用类型 null③ 构造方法作用创建对象时初始化数据特点- 方法名和类名一致- 无返回值- new 对象时自动执行代码示例public class Student { String name; int age; // 无参构造 public Student(){ System.out.println(无参构造执行); } // 有参构造 public Student(String name,int age){ this.name name; this.age age; } }④this关键字- this.成员变量区分局部变量和成员变量- this()调用本类构造方法public Student(String name){ this.name name; }⑤ 封装三大特性之一核心思想隐藏数据暴露方法实现步骤1. 成员变量私有化 private2. 提供 get/set 方法封装标准代码封装优势- 保护数据安全- 统一数据校验- 代码维护性更强三、面向对象进阶① 继承子类复用父类的属性和方法代码复用性极强格式public class 子类 extends 父类{}继承演示代码// 父类 class Person{ public void sleep(){ System.out.println(人需要睡觉); } } // 子类 class Teacher extends Person{ public void teach(){ System.out.println(老师讲课); } } public class Test{ public static void main(String[] args) { Teacher t new Teacher(); t.sleep(); // 继承父类 t.teach(); // 自己独有 } }继承特点- Java单继承只能继承一个父类- 所有类默认直接或间接继承Object类② 方法重写子类对父类原有方法重新实现重写条件1. 方法名、参数列表一致2. 返回值兼容3. 访问权限不能更严格重写案例class Person{ public void show(){ System.out.println(我是人类); } } class Student extends Person{ // 重写 Override public void show() { System.out.println(我是学生); } }③ 多态同一个行为不同对象不同表现多态实现条件1. 继承2. 方法重写3. 父类引用指向子类对象多态完整代码class Animal{ public void shout(){ System.out.println(动物叫); } } class Dog extends Animal{ Override public void shout() { System.out.println(汪汪汪); } } class Cat extends Animal{ Override public void shout() { System.out.println(喵喵喵); } } public class Test { public static void main(String[] args) { // 多态形态 Animal a1 new Dog(); Animal a2 new Cat(); a1.shout(); a2.shout(); } }运行结果汪汪汪 喵喵喵多态口诀编译看左边运行看右边④ 权限修饰符四种权限从小到大private 默认 protected public修饰符 本类 同包 子类 任意包private ✅ ❌ ❌ ❌默认 ✅ ✅ ❌ ❌protected ✅ ✅ ✅ ❌public ✅ ✅ ✅ ✅⑤ static关键字静态属于类不属于对象特点- 随着类加载而加载- 优先于对象存在- 被所有对象共享静态代码演示public class Student { public static String school 河南科技学院; public static void showSchool(){ System.out.println(school); } } // 调用 Student.showSchool();⑥ final关键字1. final变量常量不可修改2. final方法不能重写3. final类不能继承⑦ 抽象类 abstract特点1. 可以有抽象方法无方法体2. 不能实例化3. 子类必须重写所有抽象方法⑧ 接口 interface最高级抽象- 全部方法默认公共抽象- JDK8后支持默认方法、静态方法- 可以多实现四、三大特性总结1. 封装安全、隐藏数据2. 继承复用代码、扩展功能3. 多态统一调用、灵活扩展结语面向对象是Java的灵魂。掌握类与对象、吃透三大特性、理解多态运行机制才算真正入门Java。后续的集合、异常、IO、Spring框架全部建立在OOP基础之上。