有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

类本地和全局变量(Java)

我有一个类X和一个变量X 在我的内部类Y中,我有一个叫做Y的变量

我想要:x=y

我为Y和X创建了一个Getter方法,但错误累积: 无法从静态上下文引用非静态方法“getY()”

我没有将getX()设置为静态或最终。我也试过两种方法,但都不起作用

编辑:

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) 个答案

  1. # 1 楼答案

    您的内部类Y可以访问类X的变量v,因此无需将其重新声明为变量v_new
    如果必须,则使用publicgetter方法,并通过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();
    }