我有一个像这样的抽象类
public abstract class Temperature
{
private float value;
public Temperature(float v)
{
value = v;
}
public final float getValue()
{
return value;
}
public abstract Temperature toCelsius();
public abstract Temperature toFahrenheit();
public abstract Temperature toKelvin();
}
然后我有扩展这个Temperature类的类,例如:
public class Celsius extends Temperature
{
public Celsius(float t)
{
super(t);
}
public String toString()
{
return "";
}
@Override
public Temperature toCelsius() {
// TODO Auto-generated method stub
return this;
}
public Temperature toKelvin(){
return new Kelvin(this.getValue() + 273);
}
@Override
public Temperature toFahrenheit() {
// TODO Auto-generated method stub
return new Fahrenheit(this.getValue() * 9 / 5 +32);
}
}
main方法创建Celcius的对象
Temperature inputTemp = null, outputTemp = null;
inputTemp = new Celsius(temp_val);
outputTemp = inputTemp.toCelsius();
然后通过调用此方法打印对象
System.out.println("\n The converted temperature is " + outputTemp.toString() +"\n\n");
}
我必须在 toString 方法中放入什么才能打印所需的值? this.super.getValue() 不起作用,我有点无能为力。既然我们不会每次都返回相同的对象,那么我们是否必须使用父类(super class)?
最佳答案
如果你使用就足够了:
public String toString()
{
return Float.toString(this.getValue());
}
关于java - 如何使用 String 方法打印对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23058500/