Java中抽象类用abstract关键字声明,可含抽象方法、具体方法、构造器等,不能直接实例化,子类必须实现其所有抽象方法或也声明为abstract。

Java 中抽象类通过 abstract 关键字修饰类声明来定义,且必须至少包含一个抽象方法(除非明确设计为仅提供部分实现的模板类)。
抽象类的基本声明语法
在 class 关键字前加上 abstract 即可声明抽象类:
- 不能使用 new 直接实例化抽象类,只能被继承
- 类名后可跟 extends 父类 或 implements 接口,规则与普通类一致
- 抽象类可以包含:抽象方法、具体方法、构造器、成员变量、静态方法等
抽象方法必须用 abstract 修饰且无方法体
抽象方法只有声明,没有实现(即大括号 {} 和方法体),也必须用 abstract 修饰,并出现在抽象类中:
分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
- 抽象方法不能是 private、static 或 final(这些修饰符与“强制子类重写”冲突)
- 抽象方法默认是 public 或 protected(不写访问修饰符时,遵循包级可见性)
- 子类继承抽象类后,必须实现所有抽象方法,或自身也声明为 abstract
常见正确写法示例
以下是一个合法的抽象类声明片段:
abstract class Animal {
protected String name;
// 构造器(抽象类可以有构造器,用于子类初始化调用)
public Animal(String name) {
this.name = name;
}
// 具体方法
public void breathe() {
System.out.println(name + " 在呼吸");
}
// 抽象方法:没有方法体,必须由子类实现
public abstract void makeSound();
}
子类继承时需实现 makeSound(),否则编译报错。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










