ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Java入门总结③:Java面向对象和面向对象进阶知识点总结

Java入门总结③:Java面向对象和面向对象进阶知识点总结

前言

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. 成员变量私有化 private
2. 提供 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基础之上。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进