java - 对私有(private)类的变量访问

标签 java

今天早些时候我遇到了这样的代码:

public class MyThing {
   ArrayList<String> myStrings = new ArrayList<String>();
   MyPrivateClass mpc = new MyPrivateClass();

   public void DoWork() {
      mpc.DoStuff();
   }

   class MyPrivateClass {
      void DoStuff() {
        myStrings.add("Test");
      }
   }
}

这是如何或为何起作用的? MyPrivateClass 如何在不引用创建它的类的情况下访问 myStrings 的实例?

最佳答案

这称为“内部类”,因为它是一个非静态嵌套类。内部类可以(有限)访问其包含的实例,see this Oracle example了解详情。有关嵌套类的一般类别的更多信息 here .

关于java - 对私有(private)类的变量访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19089620/

相关文章:

java - 所有标签的访问者方法

java - 无法迭代查询返回的值

java - java打印变量名和变量值的方法

java - 在查询结果中显示对象的内容

java - 如何将动态附加值传递到servlet中

java - 仅在需要时显示 double 的小数

java - Docker Spring Boot 未运行

java - 如何将结果集的所有行返回给客户端?

java - 在任何一种情况下都可以选择执行操作

java - 删除字符串中最后一个已知单词