天天看點

JDK1.8更新的有關接口的内容,接口裡面可以有方法體,lamdba文法

//JDK 1.8以後,方法可以有方法體,要加上default
//1.8以後可以有靜态方法
public interface Drawable {
     int a = ;
    void draw(int i);
    default  void  method(){
        System.out.println("default修飾");
    }
   static void d(){
       System.out.println("static修飾");
      }
}
           

如果一個類實作兩個接口,這兩個接口同時有相同的抽象方法,在類中隻需要重寫一次這個方法。

如果接口中有default修飾的方法不需要重寫。

如果兩個接口裡的方法名相同都是default方法,裡面的方法體不同,在類中需要重寫該方法。

如果兩個接口中方法名,參數都相同的方法,一個接口是抽象方法,另一個是default修飾有方法體。這是該類也必須重寫該方法。

. //JDK1.8以後的lamdba文法,隻能實作單方法的接口。
Drawable drew = (i) ->{
    System.out.println("lambda " + i);
};
drew.draw();//調用接口裡的方法