如何使方法返回“变量”(而不是值)?

时间:2013-11-17 02:15:59

标签: java user-interface methods global-variables identifier

我有一组名为softPrice0(和1,2,3)的全局双变量

问题是我有想法使用这样的方法:

SOMEWORD getOPrice()  //I tried double, String, Object, variable, etc
{return softPrice0;}

所以我可以像以后一样使用它: getOPrice()=5.8;

我知道使用数组可以解决这个问题,但我想知道是否可以让方法抛出变量名来使用它,就像我解释的那样。


感谢ortang

这就是我制作它的方法,虽然改变了方法。

setOPrice(Double.parseDouble(txtPriceDolar.getText())); //thats the call

void setOPrice(double value) { //this is the setter, no need of getter
switch(combobox.getSelectedIndex())
{case 1: this.softPrice0 = value; break;
 case 2: this.softPrice1 = value; break;
 case 3: this.softPrice2 = value; break;
default: this.softPrice3 = value; break;}}

现在看起来更简单,感谢大家。提出错误的问题会教很多。

3 个答案:

答案 0 :(得分:0)

Java按值传递,因此如果没有单独的getter和setter,这是不可能的。

示例:

void setOPrecio(double softPrecio0) {
  this.softPrecio0 = softPrecio0;
}

double getOPrecio() {
  return softPrecio0;
}

但是,如果该值是一个类,您可能正在寻找单例模式的某些内容。

public class Singleton {
  private static final Singleton INSTANCE = new Singleton();

  private Singleton() {}

  public static Singleton getInstance() {
    return INSTANCE;
  }
}

来自Wikipedia's article的单例示例代码。

答案 1 :(得分:0)

对于设置,您无法使用getter。 getOPrecio()=5.8;无效。你必须使用setter方法。看一下下面的示例,访问必须使用getter(read)或setter(write)的值。

您可能希望使用类似setOPrecio(5.8)的内容。

public class DoubleHolder {
  private double vaule;

  public double getValue() {
    return value;
  }

  public void setValue(double value) {
    this.value = value
  }
}

答案 2 :(得分:0)

Java无法传递或返回"变量"。

你最接近的是:

  • 传递或返回其字段为"变量"或

  • 的对象
  • 传递或返回一个数组,其元素可以被视为"变量"。

要明确的是,这些设计都没有关闭来传递或返回一个裸变量。


您需要根据Java 提供的构造重新考虑您的问题/解决方案。