如何从Java中的嵌套类访问父类成员?

时间:2013-02-10 17:22:40

标签: java

Java程序员的简单问题 - 我不确定是否可以直接使用 - 请提供解决方法。

我想访问父变量来初始化嵌套的类成员,但不知道要执行它的Java语法(如果可能)。如何使用父ID设置子ID。

public class Parent {
    final String id = "parent";

    class Child {
        // it is invalid since scope hide parent id?
        final String id = id;
    }
}

我找到的最佳解决方案非常难看,请点击此处:

public class Parent {
    final String id = "parent";

    // ugly clone
    String shadow = id;

    class Child {
        final String id = shadow;
    }
}

请帮助语法 - 我不知道如何表达它。

2 个答案:

答案 0 :(得分:59)

您可以使用其完全限定名称来访问它:

final String id = Parent.this.id;

答案 1 :(得分:-5)

如果更改其中一个字符串ID,那该怎么样。

public class Parent {
  final String id = "parent";

  class Child {
    // it is invalid since scope hide parent id?
    // Instead of using id use ID
    final String ID = id;
  }
}

这样你就不会有字符串id = id,这没有意义。