本地和全局变量(Java)

时间:2017-05-19 11:46:38

标签: java class

我有类X和一个名为x的变量 在我的内部类Y中,我有一个名为y

的变量

我想:x = y

我为Y和X制作了一个Getter方法,但是错误准确: 非静态方法'getY()'不能从静态上下文中引用。

我没有设置getX()静态也没有设置final。我也尝试了两种方式,但它不起作用。

编辑:

public class X {
    Variable v = new Variable();
    [... here is something done with v]

    class Y {
      Variable v_new = v;
      [works with v]

    }

    v = v_new; // ???
}

1 个答案:

答案 0 :(得分:1)

您的内部班级Y可以访问班级X的变量v,因此无需将其重新声明为变量v_new ...
如果必须,请使用public getter方法,并通过Y的实例引用它。

这样的事情:

public class X {
  Variable v = new Variable();
  [... here is something done with v]

  class Y { 
    Variable v_new = v;
    [works with v]
    public Variable getV() { return v_new; }
  }

  Y y = new Y();
  v = y.getV();
}