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