Java在抽象类中实现接口
示例
interface默认情况下,在中定义的方法是publicabstract。当abstractclass实现时interface,interface无需实现中定义的任何方法abstractclass。这是因为class被声明的aabstract可以包含抽象方法声明。因此,第一个具体子类的责任是实现abstract从任何接口和/或继承的任何方法abstractclass。
public interface NoiseMaker {
void makeNoise();
}
public abstract class Animal implements NoiseMaker {
//不需要声明或实现makeNoise()
public abstract void eat();
}
//因为Dog是具体的,所以它必须同时定义makeNoise()和eat()
public class Dog extends Animal {
@Override
public void makeNoise() {
System.out.println("Borf borf");
}
@Override
public void eat() {
System.out.println("狗吃一些粗磨。");
}
}从Java8开始,可以interface声明default方法的实现,这意味着该方法将不是abstract,因此任何具体的子类都不会被强制实现该方法,而是会继承default实现,除非被覆盖。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西