生活随笔
收集整理的這篇文章主要介紹了
Java8中接口的新特性
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
知識點1:
接口中定義的靜態(tài)方法,只能通過接口來調(diào)用。 CompareA.method1();
知識點2:
通過實現(xiàn)類的對象,可以調(diào)用接口中的默認方法。如果實現(xiàn)類重寫了接口中的默認方法,調(diào)用時,仍然調(diào)用的是重寫以后的方法 s.method2();
知識點3:
如果子類(或?qū)崿F(xiàn)類)繼承的父類和實現(xiàn)的接口中聲明了同名同參數(shù)的默認方法,那么子類在沒有重寫此方法的情況下,默認調(diào)用的是父類中的同名同參數(shù)的方法。–>類優(yōu)先原則
知識點4:
如果實現(xiàn)類實現(xiàn)了多個接口,而這多個接口中定義了同名同參數(shù)的默認方法,那么在實現(xiàn)類沒有重寫此方法的情況下,報錯。–>接口沖突。
這就需要我們必須在實現(xiàn)類中重寫此方法 s.method3();
知識點5:
如何在子類(或?qū)崿F(xiàn)類)的方法中調(diào)用父類、接口中被重寫的方法
public void myMethod(){
method3();//調(diào)用自己定義的重寫的方法
super.method3();//調(diào)用 的是父類中聲明的
//調(diào)用接口中的默認方法
CompareA.super.method3();
CompareB.super.method3();
}
package com.wdl.day15;public class SubClassTest {public static void main(String[] args) {SubClass s = new SubClass();// s.method1();
// SubClass.method1();//知識點1:接口中定義的靜態(tài)方法,只能通過接口來調(diào)用。CompareA.method1();//知識點2:通過實現(xiàn)類的對象,可以調(diào)用接口中的默認方法。//如果實現(xiàn)類重寫了接口中的默認方法,調(diào)用時,仍然調(diào)用的是重寫以后的方法s.method2();//知識點3:如果子類(或?qū)崿F(xiàn)類)繼承的父類和實現(xiàn)的接口中聲明了同名同參數(shù)的默認方法,//那么子類在沒有重寫此方法的情況下,默認調(diào)用的是父類中的同名同參數(shù)的方法。-->類優(yōu)先原則//知識點4:如果實現(xiàn)類實現(xiàn)了多個接口,而這多個接口中定義了同名同參數(shù)的默認方法,//那么在實現(xiàn)類沒有重寫此方法的情況下,報錯。-->接口沖突。//這就需要我們必須在實現(xiàn)類中重寫此方法s.method3();}}class SubClass extends SuperClass implements CompareA,CompareB{public void method2(){System.out.println("SubClass:上海");}public void method3(){System.out.println("SubClass:深圳");}//知識點5:如何在子類(或?qū)崿F(xiàn)類)的方法中調(diào)用父類、接口中被重寫的方法public void myMethod(){method3();//調(diào)用自己定義的重寫的方法super.method3();//調(diào)用的是父類中聲明的//調(diào)用接口中的默認方法CompareA.super.method3();CompareB.super.method3();}
}
總結(jié)
以上是生活随笔為你收集整理的Java8中接口的新特性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。