1355 字
7 分钟

Java-第三章-面向对象(下)

2026-03-24
浏览量 加载中...
Note

继面向对象基础(类、对象、封装)后,本章深入学习面向对象核心特性:继承、多态、抽象类、接口、Object类、内部类,是Java进阶必备知识点!

面向对象编程(OOP)的核心思想是将现实世界中的事物抽象为程序中的 “对象”,通过封装、继承、多态三大特性实现代码复用与程序扩展。本节我们重点讲解面向对象进阶核心:继承、final关键字、抽象类和接口、多态、Object类、内部类。

继承#

1. 核心概念#

  • 继承:让一个类(子类/派生类)复用另一个类(父类/基类)的属性和方法,是代码复用的核心机制。
  • 关键字:extends
  • 特点:Java 只支持单继承,一个子类只能有一个直接父类。
  • 子类可以重写父类方法,也可以新增自己的成员。

2. 语法规则#

// 父类
public class 父类名 {
// 父类属性和方法
}
// 子类继承父类
public class 子类名 extends 父类名 {
// 子类新增属性和方法
}

示例

// 父类:Person
class Person {
String name;
int age;
public void eat() {
System.out.println("人在吃饭");
}
}
// 子类:Student 继承 Person
class Student extends Person {
String studentId; // 子类独有属性
public void study() { // 子类独有方法
System.out.println(name + "正在学习");
}
}
public class Test {
public static void main(String[] args) {
Student s = new Student();
s.name = "小明"; // 继承父类属性
s.age = 18;
s.eat(); // 继承父类方法
s.study(); // 调用子类独有方法
}
}

运行效果

人在吃饭
小明正在学习

final关键字#

1. 核心概念#

  • final 表示最终、不可改变,可修饰类、方法、变量
  • 修饰类:该类不能被继承
  • 修饰方法:该方法不能被重写
  • 修饰变量:该变量变为常量,只能赋值一次。

2. 语法规则#

// final 修饰类:不能被继承
final class 类名 {}
// final 修饰方法:不能被重写
public final 返回值类型 方法名() {}
// final 修饰变量:常量
final 数据类型 变量名 =;

示例

// final 类:无法被继承
final class Animal {
// final 方法:无法被重写
public final void run() {
System.out.println("动物在跑");
}
}
// class Dog extends Animal {} 报错:不能继承final类
public class Test {
public static void main(String[] args) {
// final 变量:常量,不可修改
final int NUM = 10;
// NUM = 20; 报错
System.out.println(NUM);
}
}

运行效果

10

抽象类和接口#

1. 抽象类#

  • abstract 修饰,包含抽象方法(无方法体),不能实例化
  • 子类必须重写所有抽象方法。
abstract class 抽象类名 {
// 抽象方法
public abstract void 方法名();
}

2. 接口#

  • 特殊抽象类,全局常量 + 公共抽象方法。
  • 关键字:interfaceimplements
  • 一个类可实现多个接口
// 定义接口
interface 接口名 {
void 方法名();
}
// 实现接口
class 类名 implements 接口名 {
@Override
public void 方法名() {}
}

示例

// 抽象类
abstract class Shape {
public abstract double getArea();
}
// 接口
interface Color {
void setColor();
}
// 子类继承抽象类 + 实现接口
class Circle extends Shape implements Color {
@Override
public double getArea() {
return 3.14 * 2 * 2;
}
@Override
public void setColor() {
System.out.println("红色圆形");
}
}
public class Test {
public static void main(String[] args) {
Circle c = new Circle();
c.setColor();
System.out.println("面积:" + c.getArea());
}
}

运行效果

红色圆形
面积:12.56

多态#

1. 核心概念#

  • 多态:同一行为,不同子类有不同实现。
  • 前提:继承/实现、方法重写、父类引用指向子类对象
  • 好处:提高代码扩展性。

2. 语法规则#

父类类型 引用名 = new 子类对象();
接口名 引用名 = new 实现类对象();

示例

class Animal {
public void shout() {
System.out.println("动物叫");
}
}
class Cat extends Animal {
@Override
public void shout() {
System.out.println("喵喵喵");
}
}
class Dog extends Animal {
@Override
public void shout() {
System.out.println("汪汪汪");
}
}
public class Test {
public static void main(String[] args) {
// 多态:父类引用指向子类对象
Animal a1 = new Cat();
Animal a2 = new Dog();
a1.shout();
a2.shout();
}
}

运行效果

喵喵喵
汪汪汪

Object类#

1. 核心概念#

  • ObjectJava所有类的顶级父类,任何类默认继承它。

  • 常用方法:

    • toString():返回对象字符串表示。
    • equals():比较对象内容。
    • hashCode():返回哈希值。

2. 语法规则#

// 所有类都默认继承 Object
public class 类名 {}

示例

class Student {
String name;
// 重写 toString
@Override
public String toString() {
return "Student{name=" + name + "}";
}
}
public class Test {
public static void main(String[] args) {
Student s = new Student();
s.name = "小红";
System.out.println(s); // 自动调用 toString
}
}

运行效果

Student{name=小红}

内部类#

1. 核心概念#

  • 内部类:定义在类内部的类
  • 分类:成员内部类、静态内部类、局部内部类、匿名内部类。
  • 作用:访问外部类私有成员,代码封装。

2. 语法规则#

class 外部类 {
// 成员内部类
class 内部类 {}
// 静态内部类
static class 静态内部类 {}
}

示例

class Outer {
private int num = 10;
// 成员内部类
class Inner {
public void show() {
// 直接访问外部类私有变量
System.out.println("内部类访问:" + num);
}
}
}
public class Test {
public static void main(String[] args) {
Outer.Inner inner = new Outer().new Inner();
inner.show();
}
}

运行效果

内部类访问:10

总结#

  1. 继承extends,代码复用,单继承。
  2. final:不可改变,修饰类、方法、变量。
  3. 抽象类&接口:规范定义,接口可多实现。
  4. 多态:父类引用指向子类,提高扩展性。
  5. Object:所有类的父类,提供通用方法。
  6. 内部类:类中定义类,可访问外部私有成员。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
Java-第三章-面向对象(下)
https://blog.pigeons2023.asia/posts/20260324/
作者
Pigeons2023
发布于
2026-03-24
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Pigeons2023
不曾与你分享的时间,我在进步.
公告
欢迎光临我的博客 🎉 ,这里会分享我的日常和学习中的收集、整理及总结,希望能对你有所帮助:) 💖
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
19
分类
4
标签
6
总字数
62,837
运行时长
0
最后活动
0 天前

目录