default方法的探究
程序员文章站
2022-06-01 10:39:10
...
default方法是在接口中使用,其意义是可以在接口方法内定义方法体,通过写一个简单的Demo来学习它的用法
interface M{
void draw();
default void play(){ //default方法可以在接口中定义方法体
System.out.println("哈哈");
}
}
interface N extends M{
void write();
void draw(); //没有报错
default void play(){ //default方法不用实现该接口的类重写该方法
System.out.println("哈哈哈");
}
}
public class Demo33 implements M,N{
public static void main(String[] args) {
Demo33 de=new Demo33();
de.play(); //输出的是"哈哈哈"
}
@Override
public void write() {
System.out.println("write");
}
@Override
public void draw() {
System.out.println("draw");
}
}
总结:default方法可以让我们在接口中写具体的方法,打破了接口中只能定义抽象方法的原则,让我们可以在实现类中直接调用,实现代码复用。