为什么Java接口内部类受保护的方法可以从外部访问?

问题描述 投票:0回答:1

我有以下代码:

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 oop interface
1个回答
0
投票

根据文档:

“Java 中的 protected 关键字是用于成员变量和方法的访问修饰符。它提供了一定程度的访问控制,允许访问 在同一包内以及通过子类,即使它们位于不同的包中。”

© www.soinside.com 2019 - 2024. All rights reserved.