可以的,抽象类能够实现(implements)接口。
在 Java 中(以及其他支持接口和抽象类的语言,如 C#),规则大致如下:
抽象类使用 implements 关键字来实现接口,和普通类一样。
interface Animal {
void eat();
void sleep();
}
abstract class AbstractAnimal implements Animal {
// 可以不实现接口中的方法
// 留给子类去实现
}
这是抽象类的一个重要特点:
abstract class AbstractAnimal implements Animal {
@Override
public void eat() {
System.out.println("吃东西");
}
// sleep() 不实现,留给子类
}
子类:
class Dog extends AbstractAnimal {
@Override
public void sleep() {
System.out.println("狗睡觉");
}
}
extends 一个父类并 implements 多个接口(Java 单继承、多实现)abstract class AbstractAnimal extends LivingThing
implements Animal, Comparable<AbstractAnimal> {
// 可以混合使用
}
✅ 抽象类能实现接口
✅ 抽象类可以不实现接口中的所有方法
✅ 未实现的方法由子类继续实现
如果你是想了解抽象类和接口的区别,或者什么时候用抽象类实现接口更合适,我也可以继续讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。