【发布时间】:2016-02-24 01:54:09
【问题描述】:
我正在尝试通过使用v.Volume(volume); 在我的测试类超类中使用我的子类中的Volume 方法,但它说它找不到符号volume。我在测试类中设置半径,它应该从中输出音量。我觉得我在看一些非常明显的东西。我知道它正在尝试使用来自超类的名为 volume 的变量,但我不确定该放什么。
测试类代码
//balloon testing
Balloon r = new Balloon();
Balloon v = new Balloon();
System.out.println("Radius " + r.getRadius());
System.out.println("Volume " + v.getVolume());
r.inflate(5);
v.Volume(volume);
System.out.println("Radius " + r.getRadius());
System.out.println("Volume " + r.getVolume());
子类代码
public class Balloon {
//declare
public double radius;
public double volume;
//constructor
public Balloon(){
radius = 0;
volume = 0;
}
//setters
public void inflate(double r){
radius = r;
}
//accessors
public double getRadius(){
return radius;
}
public double getVolume(){
return volume;
}
public void Volume(double volume){
volume = ((4/3)* Math.PI * (radius*radius*radius));
}
}
【问题讨论】:
-
Java 不是通过引用传递。
-
将方法名重命名为calculateValue。
标签: java variables subclass superclass