這篇文章主要介紹“java接口組成更新怎么實現”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“java接口組成更新怎么實現”文章能幫助大家解決問題。
接口的組成
常量:public static final
抽象方法:public abstract
默認方法(Java 8)
靜態方法(Java 8)
私有方法(Java 9)
我們都知道,一個類實現一個接口,就要重寫這個接口中的所有抽象方法。但現在接口中新增了一個方法,實現這個接口的類不想重寫這個方法怎么辦?這時就可以使用接口中默認方法,它不強制被重寫,而且還可以提供方法體。
接口中默認方法的定義格式:
格式:public default 返回值類型 方法名(參數列表){}
范例:public default void show(){}
接口中默認方法的注意事項:
默認方法不是抽象方法,所以不強制被重寫。但是可以被重寫,重寫的時候去掉default關鍵字
public可以省略,default不能省略:default void show(){}
接口中靜態方法的定義格式:
格式:public static 返回值類型 方法名(參數列表){}
范例:public static void show(){}
接口中靜態方法的注意事項:
靜態方法只能通過接口名調用, 不能通過實現類名或者對象名調用
public可以省略, static不能省略:static void show(){}
接口
package test;
public interface Inter {
void show();
default void method() {
System.out.println("默認方法");
}
// public static void test(){
// System.out.println("靜態方法");
// }
static void test(){
System.out.println("靜態方法");
}
}實現類
package test;
public class InterImpl implements Inter{
@Override
public void show() {
System.out.println("show方法");
}
}測試類
package test;
public class Demo {
public static void main(String[] args) {
Inter i = new InterImpl();
i.show(); //show方法
i.method(); //
// i.test(); //報錯
Inter.test(); //靜態方法,接口名調用靜態方法
}
}Java 9 中新增了帶方法體的私有方法,這其實在 Java 8 中就埋下了伏筆:Java 8 允許在接口中定義帶方法體的默認方法和靜態方法。這樣可能就會引發一個問題:當兩個默認方法或者靜態方法中包含一段相同的代碼實現時,程序必然考慮將這段實現代碼抽取成一個共性方法,而這個共性方法是不需要讓別人使用的,因此用私有給隱藏起來,這就是 Java 9 增加私有方法的必然性 。
接口中私有方法的定義格式:
格式1(非靜態):private 返回值類型 方法名(參數列表){}
范例1:private void show() {}
格式2(靜態):private static 返回值類型 方法名(參數列表){}
范例2:private static void method() {}
接口中私有方法的注意事項:
默認方法可以調用私有的靜態方法和非靜態方法
靜態方法只能調用私有的靜態方法
package test;
public interface Inter {
default void show1() {
System.out.println("show1開始執行");
// System.out.println("初級工程師");
// System.out.println("中級工程師");
// System.out.println("高級工程師");
// show();
method();
System.out.println("show1結束");
}
static void method1() {
System.out.println("method1開始執行");
// System.out.println("初級工程師");
// System.out.println("中級工程師");
// System.out.println("高級工程師");
method();
System.out.println("method1結束");
}
private void show(){
System.out.println("初級工程師");
System.out.println("中級工程師");
System.out.println("高級工程師");
}
private static void method(){
System.out.println("初級工程師");
System.out.println("中級工程師");
System.out.println("高級工程師");
}
}關于“java接口組成更新怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。