Java,嵌套类:如何访问“更高”级别的变量?

时间:2011-09-13 15:33:57

标签: java

我有这段代码

public class MasterClass {

    private String myVariable;
    private ValuesClass objectA;

        class ValuesClass {

              public void method() {
                   myVariable = 1; // I can't access myVariable
              }
        }

} 

如何从ValuesClass内部访问myVariable?

2 个答案:

答案 0 :(得分:10)

你在做什么是完全正确的。除了myVariableString,并且您尝试为其分配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!";
          }
    }

}