我有这段代码
public class MasterClass {
private String myVariable;
private ValuesClass objectA;
class ValuesClass {
public void method() {
myVariable = 1; // I can't access myVariable
}
}
}
如何从ValuesClass内部访问myVariable?
答案 0 :(得分:10)
你在做什么是完全正确的。除了myVariable
是String
,并且您尝试为其分配int
。
现在,如果你的内部类还有一个名为myVariable
的变量,你需要一些特殊的语法来访问外部类中的一个:
MasterClass.this.myVariable = ...
由Martijn编辑:这称为Qualified This。
答案 1 :(得分:1)
您可以使用myVariable
直接访问它,或者如果您有变量名称冲突,
public class MasterClass {
private String myVariable;
private ValuesClass objectA;
class ValuesClass {
private String myVariable
public void method() {
MasterClass.this.myVariable = "Hello World!";
}
}
}