我正在处理一项任务,我必须创建一个由另一个类扩展的父类,我必须覆盖父类中的 toString() 方法并使用父 toString 方法来显示新的,但添加一行.
所有这些我都很好,但是在我卡住的地方,原来的 toString() 有一个数字格式对象,可以将双精度格式化为货币,我需要在新行中格式化双精度。说明说我不应该在新的 toString 方法中需要数字格式化程序,并让旧的 toString() 方法处理“大部分工作”,但我不知道如何格式化这个双精度。
这是一些代码,因此您可以了解我的意思:
import java.text.NumberFormat;
public abstract class First {
public First(int x, double y)
protected int num = x;
protected double num2 = y;
}
public String toString()
{
NumberFormat x = NumberFormat.getCurrencyInstance();
return "Int num: " + num +
"\n num2: " + x.format(num2);
}
}
然后我有子类:
public class Second extends First {
protected double num3;
public Second(int x, double y, double z)
{
super(x, y);
num3 = z
}
public String toString()
{
return super.toString() + "\n num3 " + num3;
}
}
如果我这样做(我省略了很多不相关的代码)它可以工作,但我需要像钱一样格式化 num3,就像 num2 在父类中但我不能在子类中有格式化程序对象。
如果有人能把我推向正确的方向,我将不胜感激。