如果在Java介面中定義一個具體方法會發生什麼?


Java中的介面類似於類,但是它只包含抽象方法和final和static修飾的欄位。

由於所有方法都是抽象的,因此無法例項化它。要使用它,需要使用一個類實現此介面,併為其中的所有抽象方法提供方法體。

介面中的具體方法

介面中的所有方法都必須是抽象的,不能有具體方法(有方法體的方法);如果嘗試這樣做,會得到一個編譯時錯誤,提示“介面抽象方法不能有方法體”。

示例

在下面的Java程式中,我們嘗試在一個介面中編寫一個有方法體(具體)的方法。

public interface MyInterface{
   public static final int num =40;
   public void demo(){
      System.out.println("This is a concrete method in the interface");
   }
}

編譯時錯誤

編譯時,此程式會生成以下編譯時錯誤。

MyInterface.java:3: error: interface abstract methods cannot have body
public void demo(){
^
1 error

更新於:2020年6月29日

3K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.