JDK1.8的特性
接口的特性
- 接口中可以定義靜態(tài)方法,默認方法,并有方法體
- 接口中定義的靜態(tài)方法,只能通過接口去調(diào)用
- 接口中定義的默認方法,通過實現(xiàn)類對象來調(diào)用
- 如果子類或?qū)崿F(xiàn)類繼承的父類和實現(xiàn)的接口中聲明了同名同參數(shù)的方法,在子類沒有重寫此方法的情況下,優(yōu)先調(diào)用父類的同名同參數(shù)的方法
- 如果實現(xiàn)類實現(xiàn)了多個接口,而多個接口中定義了同名同參數(shù)的默認方法,實現(xiàn)類必須重寫此方法
- 在子類或?qū)崿F(xiàn)類的方法中調(diào)用父類、接口中的重寫方法使用
接口.super.method();的方式調(diào)用,調(diào)用父類的方法使用super.method();方式
public interface CompareA {
static void method1() {
System.out.println("這是個靜態(tài)方法1");
}
static void method2() {
System.out.println("這是個靜態(tài)方法2");
}
default void method3() {
System.out.println("這是個默認方法3");
}
default void method4() {
System.out.println("這是個默認方法4");
}
}
class SubClass implements CompareA {
public void method2() {
System.out.println("這是個默認方法的重寫方法");
}
public static void main(String[] args) {
SubClass s = new SubClass();
CompareA.method1(); //接口靜態(tài)方法的調(diào)用
s.method2(); // 接口默認方法的調(diào)用
}
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。