我有一组名为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;}}
现在看起来更简单,感谢大家。提出错误的问题会教很多。
答案 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 提供的构造重新考虑您的问题/解决方案。