我正在尝试打印调用calcula
方法的结果,如下面的代码所示,但是当我打印toString()
时,我得到的结果是IKCV @ 2a139a55。好像我必须在IKCV类中重写toString()
方法,但不知道如何实现它。如何将方法调用的结果正确打印出来?
我的测试班:
public class testaTemplateMethod {
public static void main(String[] args) {
Orcamento orcamento = new Orcamento(500);
IKCV ikcv = new IKCV();
ikcv.calcula(orcamento);
System.out.println(ikcv);
}
}
以及我认为应该实现我的方法toString()
public class IKCV extends TemplateDeImpostoCondicional {
@Override
public String toString() {
?????????????????????
}
double calcula(Orcamento orcamento) {
return 0.0; // Obviously not the real implementation
}
}
答案 0 :(得分:0)
在重写的toString函数中构造表示数据的任何字符串并返回它。例如,只需尝试return "[IKCV Object]";
。
答案 1 :(得分:0)
哦!不,您不需要覆盖toString()
。你只想打印出计算结果,不是吗?
做这样的事情:
public class testaTemplateMethod {
public static void main(String[] args) {
Orcamento orcamento = new Orcamento(500);
IKCV ikcv = new IKCV();
ikcv.calcula(orcamento);
System.out.println("Calcula: " + ikcv.calcula(orcamento));
// or ikcv.minimaTaxacao(orcamento) or whatever
}
}
您不打印对象本身,只打印出您关心的方法调用的结果。