Java 介面的變數可以宣告為私有和受保護的嗎?
Java 中的介面類似於類,但它只包含抽象方法和欄位,這些欄位是 final 和 static 的。
介面的私有欄位
如果介面的欄位是私有的,則無法在實現類中訪問它們。
如果嘗試將介面的欄位宣告為私有,則會生成一個編譯時錯誤,提示“此處不允許使用修飾符 private”。
示例
在下面的 Java 示例中,我們嘗試將介面的欄位和方法宣告為私有。
public interface MyInterface{ private static final int num = 10; private abstract void demo(); }
編譯時錯誤
編譯時,上述程式會生成以下錯誤
輸出
MyInterface.java:2: error: modifier private not allowed here private static final int num = 10; ^ MyInterface.java:3: error: modifier private not allowed here private abstract void demo(); ^ 2 errors
介面的受保護欄位
通常,受保護的欄位可以在同一個類或繼承它的類中訪問。但是,我們不會繼承介面,而是會實現它。
因此,不能將介面的欄位宣告為受保護的。如果嘗試這樣做,則會生成一個編譯時錯誤,提示“此處不允許使用修飾符 protected”。
示例
在下面的 Java 示例中,我們嘗試將介面的欄位和方法宣告為受保護的。
public interface MyInterface{ protected static final int num = 10; protected abstract void demo(); }
輸出
MyInterface.java:2: error: modifier protected not allowed here protected static final int num = 10; ^ MyInterface.java:3: error: modifier protected not allowed here protected abstract void demo();
廣告