在 Java 中,抽象类(Abstract Class)是一种不能被直接实例化的类,通常用于作为其他类的父类,用来抽取子类的共性。
使用 abstract 关键字修饰的类,叫做抽象类。
abstract class Animal {
}
特点:
new 抽象类抽象方法:只有方法声明,没有方法体,用 abstract 修饰。
abstract class Animal {
abstract void eat(); // 抽象方法
}
注意:
子类继承抽象类,并实现其中的抽象方法:
abstract class Animal {
abstract void eat();
}
class Dog extends Animal {
void eat() {
System.out.println("狗吃骨头");
}
}
使用:
Animal a = new Dog();
a.eat();
| 对比点 | 抽象类 | 普通类 |
|---|---|---|
| 能否实例化 | ❌ 不能 | ✅ 能 |
| 能否有抽象方法 | ✅ 可以 | ❌ 不行 |
| 主要作用 | 被继承、规范子类 | 直接使用 |
| 项目 | 抽象类 | 接口 |
|---|---|---|
| 关键字 | abstract class |
interface |
| 方法 | 可有普通方法 | Java 8 前只能抽象 |
| 成员变量 | 普通变量 | 默认 public static final |
| 继承 | 单继承 | 多实现 |
✅ 多个类有共同属性和行为
✅ 需要部分实现,部分留给子类
✅ 想约束子类必须实现某些方法
如果你愿意,我也可以用生活例子、面试题或和接口结合的代码例子再讲一遍。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。