public class Test(){
public List makeList(){
//some code
....
double density = mass / vol;
return mylist;
}
}
即使我只返回了一个列表,我怎么能引用density
?在Python中,我可以调用self.density
我知道我可以创建另一个班级Pair<List, Double>
,但由于杂乱,我宁愿不这样做。
答案 0 :(得分:6)
在Python中,我可以调用self.density
不,这不一样。您在代码中定义的是本地变量 - 其范围仅限于makeList()
。
如果你想从其他方法引用它,你可以把它变成一个实例变量(这就是你在Python中用self
做的事情):
public class Test {
private double density = 0.0;
public List makeList(){
//some code
....
density = mass / vol;
return mylist;
}
}
答案 1 :(得分:3)
让density
成为Test
班级的实例成员。
public class Test { // NO open/close parenthesis here!
private double density;
public List makeList() {
//some code
....
this.density = mass / vol;
return mylist;
}
public double getDensity() {
return this.density;
}
}
然后致电:
Test test = new Test();
List myList = test.makeList();
double density = test.getDensity();
答案 2 :(得分:0)
您需要将density
声明为方法外的类Test
的成员,并仅在方法中指定它。如果在方法中声明它,则无法在其他地方访问它。
像这样:
public class Test{
private double density;
public List makeList(){
//some code
....
density = mass / vol;
return mylist;
}
}