1. 程式人生 > >Java學習筆記之default方法

Java學習筆記之default方法

Default Methods是java8中的特性,主要是在之前介面中智慧定義方法名稱和引數型別,並不能寫實際的邏輯,java8之後使用Default Methods就可以寫了,下面看一個例子:
首先定義介面:

public interface TestDefault {
    void setName();
    default void setContent(){
        Log.w("列印","依然走了default");
    }
}

然後呼叫介面:

new TestDefault() {
    @Override
    public void
setName() { Log.w("列印","name"); } @Override public void setContent() { Log.w("列印","content"); } }.setContent();

列印結果為:

W/列印: content

結論一:在重寫了default方法之後,該程式的邏輯走的是重寫的部分,而沒有走default部分。

修改程式碼:

new TestDefault() {
    @Override
   	public void setName() {
       Log.
w("列印","name"); } }.setContent();

列印輸出結果:

W/列印: 依然走了default

結論二:default方法可以不被重寫,在不被重寫的情況下,預設走default邏輯。