【问题标题】:Accessing non-static nested class访问非静态嵌套类
【发布时间】:2014-05-14 14:26:44
【问题描述】:

问这个问题可能有点傻,但是看看下面的代码就会提出一个问题。

public class Outer {
    public class Inner {
        public static final int variable = 100;
    }

    public static void main(String[] args) {
        int test = Outer.Inner.variable; // Inner Non-Static accessed
                                         // with Class reference?  
    }
}

如何使用类引用访问非静态嵌套类?

【问题讨论】:

  • variable字段是静态的,所以可以访问。这与顶级类的概念基本相同。
  • 不能静态访问非静态数据成员。你的榜样;但是,它是一个静态数据成员,可以静态访问。
  • 我的问题是如何通过外部类引用“Outer”(“Outer.Inner”??)访问非静态嵌套类“Inner”,而 Inner 是 Instance 成员?

标签: java inner-classes static-members nested-class non-static


【解决方案1】:

变量是静态的,这很重要。由于变量是静态的,因此您始终可以使用类引用访问它。

【讨论】:

  • 谢谢,我的问题是如何通过外部类引用“Outer”(“Outer.Inner”??)访问非静态嵌套类“Inner”,而 Inner 是实例成员?
  • 因为您访问的是类,而不是类的实例。无论您是否创建内部类的实例,内部类都作为类存在。
猜你喜欢
  • 2021-04-28
  • 1970-01-01
  • 2017-11-12
  • 1970-01-01
  • 2014-08-22
  • 2015-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多