1
public class Test(){
  public List makeList(){
    //some code
    ....
    double density = mass / vol;
    return mylist;
  }
}

density即使我只返回了一个列表,我该如何参考?在 Python 中,我可以调用self.density

我知道我可以创建另一个类Pair<List, Double>,但由于混乱,我宁愿不这样做。

4

3 回答 3

6

在 Python 中,我可以调用 self.density

不,这不一样。您在代码中定义的是一个局部变量- 它的范围仅限于makeList().

如果您想从其他方法中引用它,可以将其设为实例变量(这就是您self在 Python 中所做的):

public class Test {
   private double density = 0.0;

   public List makeList(){
      //some code
      ....
      density = mass / vol;
      return mylist;
   }
}
于 2013-07-22T10:02:18.083 回答
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();
于 2013-07-22T10:03:16.843 回答
0

您需要在方法之外声明density为类的成员,Test并且只需在方法内分配它。如果它在方法中声明,则不能在其他地方访问。

像这样:

public class Test{
     private double density;

     public List makeList(){
        //some code
        ....
        density = mass / vol;
        return mylist;
     }
}
于 2013-07-22T10:03:16.227 回答