使用abstract关键字声明抽象类,不可实例化,用于定义共用属性和方法。包含抽象方法的类必须声明为抽象类,子类需实现所有抽象方法才能实例化。抽象类可含构造方法,支持继承与多态,有助于构建清晰的类层次结构。

在Java中声明一个抽象类,需要使用 abstract 关键字。抽象类不能被实例化,通常用于作为其他类的父类,定义共用的方法或属性,允许包含抽象方法(没有实现的方法)。
基本语法
使用 abstract 修饰 class 即可声明一个抽象类:abstract class 类名 {
// 字段
// 构造方法
// 普通方法
// 抽象方法(可选)
}
包含抽象方法的抽象类
如果类中包含至少一个抽象方法,那么这个类必须声明为抽象类:abstract class Animal {
public abstract void makeSound(); // 抽象方法,没有方法体
public void sleep() {
System.out.println("Animal is sleeping");
}
}
继承抽象类
子类通过继承抽象类并实现其所有抽象方法,才能被实例化:class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Woof!");
}
}
立即学习“Java免费学习笔记(深入)”;
Dog 类实现了 makeSound() 方法,因此可以创建实例:Dog dog = new Dog();
dog.makeSound(); // 输出: Woof!
dog.sleep(); // 输出: Animal is sleeping
注意事项
- 抽象类可以包含构造方法,用于被子类调用
- 抽象类不一定非要包含抽象方法,也可以全是具体方法
- 抽象方法不能是 private、static 或 final
- 子类如果不实现全部抽象方法,则也必须声明为 abstract










