可能重复:
在接口中受保护
以下代码片段显示 Java 中的接口只能有一个修饰符,即public。在接口中不允许使用其他修饰符(私有和受保护),无论是字段还是任何方法。显然,在修饰符中,private 在接口中使用没有意义,但在接口中应该允许使用 protected,因为它可以被它的实现类合并。
interface Demo
{
private final static int a=10; //Will not be compiled.
protected final static int b=20; //Will not be compiled.
public final static int x=0; //ok
abstract public void showSum();
}
而一个抽象类被允许拥有所有的修饰符 private、public 和 protected。我的问题只是在似乎允许的界面中不允许使用受保护的修饰符。为什么?