我试图测试工作private
interfaces
并编写下面的代码。private
interfaces
我可以理解,如果我们不希望任何其他类实现它们,可能会出现声明的情况,但是变量呢?接口变量是隐式的public static final
,因此即使接口被声明为私有,我也能够访问它们。这可以在下面的代码中看到。
public class PrivateInterfaceTest {
/**
* @param args
*/
public static void main(String[] args) {
TestingInterfaceClass test = new TestingInterfaceClass();
TestingInterfaceClass.inner innerTest = test.new inner();
System.out.println(innerTest.i);
}
}
class TestingInterfaceClass {
private interface InnerInterface {
int i = 0;
}
class inner implements InnerInterface {
}
}
这是否意味着我们永远无法private interface
真正意义上的拥有?private interface
如果我们可以访问外部变量,是否真的有意义private interface
?
编辑:如果我们有私有内部类,只是想添加同样的情况。内部类中的私有变量永远不会暴露。