如何编辑另一个类的值?

时间:2016-02-05 02:42:03

标签: java

我想获取一个类生成的值,让另一个类使用它并实时更新它。这就是我对生成数字的类所做的:

System.ArgumentException : Member 'System.Type' is declared in another module and needs to be imported
然后我打电话给

public Integer red(int red){
    this.red = red;
    return red;
}

在我做的其他课程中:

private int red;

但它告诉我无法应用它。如果我将它设置为0,它总是保持为零,而另一个类不能改变它。我怎样才能使这项工作正确?

4 个答案:

答案 0 :(得分:3)

  

如何从另一个类编辑一个类值?

我假设您正在询问如何变异和访问类的私有变量。你可以使用getter和setter:

例如:

class GUI{
    private int red;

    public int getRed(){            //you can name it as red() as you wish
        return red;
    }

    public void setRed(int red){    //you can name is as red(int red)
        this.red = red;
    }
}

从其他班级访问:

public class TestRunner{
    public static void main(String[] args){
        GUI gui = new GUI();
        gui.setRed(val);            //edit gui's red value (val is an int)
        int color = gui.getRed();   //retrieve red from gui object
    }
}

答案 1 :(得分:0)

您没有在红色功能中传递任何值。执行此操作然后使用setter函数设置值,并使用getter查找最新值。

答案 2 :(得分:0)

制作一个像Gui类中提到的像Pritam这样的setter方法。

public void setRed(Integer red) {
      this.red = red;
}

然后你需要实例化一个Gui类的对象。

Gui objGui = new Gui();

然后在该对象上使用setter函数。

objGui.setRed(red);

答案 3 :(得分:0)

您将红色变量设置为private access member。此变量的范围仅在您的gui类中。以下两个选项可以改变这种情况:

添加Setter和Getter方法

这可能是访问类中私有变量的最常用方法。通过创建setter和getter方法,您将能够将新值“设置”为红色变量并“获取”新的或当前的红色值。一个例子:

public void setRed(int red){
    this.red = red;
}
public int getRed() {
    return red;
}

更改访问成员

另一种选择是将访问成员从private int red更改为public static int red。但是我并不真的建议这样做,因为红色值将在所有gui类实例中保持不变。除非你有充分的理由使用相同的变量,否则创建setter和getter就是解决方案。