介面

1,介面中方法自動為public,變數自動為public static final
2,實現介面的類會自動繼承介面的變數跟方法
3,介面中的方法——空方法+靜態方法+默認方法(default聲明的方法)
1,介面中的靜態方法——不會被實現介面的類繼承,但可以通過介面名調用
2,介面中的默認方法——可以被實現介面的類繼承
默認方法衝突——父類有方法print( ),多個介面有默認方法print( )
1,父類優先
public class Son extends Father implements i1,i2{};
Son son=new Son( );
son.print()——調用父類的print
2,介面衝突
public class Son implements i1,i2{}——不會通過編譯,要解決二義性(重寫方法)
兩種解決方案——Ⅰ直接重寫
                          Ⅱ子類方法中用 介面名.super.方法 來調用介面的默認方法
public void print( ){
   i1.super().print( );
}
Tags: