如何从Java中的嵌套类访问父类成员?
Java程序员的一个简单问题——我不确定是否可以直接问——请给出解决方法 我想访问父变量来初始化嵌套的类成员,但不知道如何使用Java语法(如果可能的话)。如何用父id设置子id如何从Java中的嵌套类访问父类成员?,java,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";
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;
}
}
请帮助了解语法-我不知道如何表达它。您可以使用它的完全限定名访问它:
final String id = Parent.this.id;
如果您更改其中一个字符串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,这是没有意义的。我不确定,你的字段是用一个方法分配的?我会问你其他问题,你猜到了,所以应该给你点分数:)它总是
classnameofOutClass。This.somememberormethodofourter
-结尾是带还是不带()。说到这里,我称之为外部类和内部类。顺便说一句。不一样,我会发布一些其他问题,因为我问了一些关于想要以外的问题,得到了有效的答案,但有点不同。这不是一个有效的解决方案。OP希望使用相同的变量名。你的建议已经在OP中得到了证实。