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();
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP