Java中的接口类似于类,但是它仅包含final和static的抽象方法和字段。
由于所有方法都是抽象的,因此无法实例化。要使用它,您需要使用一个类来实现此接口,并为其提供所有抽象方法的主体。
如果接口的成员是私有的,则不能提供方法的实现,或者不能在实现类中访问它的字段。
因此,接口的成员不能是私有的。如果尝试将接口的成员声明为私有,则会生成一个编译时错误,提示“此处不允许使用修饰符私有”。
在下面的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
通常,可以在相同的类中或在继承该类的类中访问受保护的成员。但是,我们不继承将要实现的接口。
因此,不能保护接口的成员。如果尝试声明接口的成员受保护,则会生成一个编译时错误,提示“此处不允许使用修饰符保护”。
在下面的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