我有以下代码:
public interface ISomeInterface {
class A {
protected static void protectedMethod() {
System.out.println("protectedMethod");
}
private static void privateMethod() {
System.out.println("privateMethod");
}
}
}
在 main 中,我可以调用 protectedMethod,但不能调用 privateMethod。这是为什么?
public class Main {
public static void main(String[] args) {
ISomeInterface.A.protectedMethod(); //okay!
//ISomeInterface.A.privateMethod(); // Compilation error
}
}
提前致谢!
根据文档:
“Java 中的 protected 关键字是用于成员变量和方法的访问修饰符。它提供了一定程度的访问控制,允许访问 在同一包内以及通过子类,即使它们位于不同的包中。”