java - 关于内部类私有(private)成员变量访问

标签 java private-members

假设有一个名为 MyOuter 的类,它由一个名为 MyInner 的简单内部类组成。在尝试了解内部类如何工作时,我试图了解外部类私有(private)成员变量是否可以从内部类本身访问。

class MyOuter {
  private int x = 7;
  // inner class definition
  class MyInner {
    public void seeOuter() {
      System.out.println("Outer x is " + x);
    }
  } // close inner class definition
} // close outer class

根据我的分析,上面的代码是完全合法的。请注意,内部类确实在访问外部类的私有(private)成员。这很好,因为内部 类也是外部类的成员。所以就像外部类的任何成员一样 (比如说,一个实例方法)可以访问外部类的任何其他成员,private 或者不是,内部类(也是成员)可以做同样的事情。

请告知我的理由是否正确。

最佳答案

内部类是其封闭类的成员,可以直接访问该对象的方法和字段。更多信息,请参阅Nested Classes .

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

相关文章:

c++ - 使用静态成员函数访问静态数据成员

Python私有(private)方法供公共(public)使用

c++ - C++ 中的类成员隐私和 header

java - 使用附加参数 hibernate 多对多

java - Hibernate HQL 查询子选择或联接

java - 将 ArrayList<String[]> 转换为 String[][] 或 Object[][]

struct - 为什么 "can' t 泄漏私有(private)类型“仅适用于结构而不适用于枚举?

java - 在 JAX-RS 2.0 客户端库中处理自定义错误响应

java - 如何在命令行上执行 CLIPS 中制作的 .clp

c++ - 使用私有(private)析构函数删除对象