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方法可以讓我們在接口中寫具體的方法,打破了接口中只能定義抽象方法的原則,讓我們可以在實現類中直接調用,實現代碼複用。