关于JAVA toString 方法的重写
我是初学者哈public class Circle {
double r;
public Circle(double r)
{
this.r=r;
}
public String toString()
{
double area=r*r*Math.PI;
return" "+area;
}
}
返回一个值时为什么不能写 return area; 要加上" "+area
????
java toString --------------------编程问答-------------------- area 是 double类型的,你的返回值是要string类型的 " "+area就变成string了 --------------------编程问答--------------------
+1. --------------------编程问答-------------------- 重写的目的是,用处是? --------------------编程问答--------------------
+1 --------------------编程问答-------------------- 定义的是带返回值String类型,当然要返回String类型了。 --------------------编程问答--------------------
注意返回类型。 --------------------编程问答-------------------- 相当于
new StringBuilder().append(area).toString();--------------------编程问答--------------------
+1 --------------------编程问答--------------------
+1 --------------------编程问答--------------------
+1 --------------------编程问答-------------------- public String toString()
{
double area=r*r*Math.PI;
return" "+area;
}
这个方法的返回值是String的,area是double的,类型不一致,但是""+area后会自动转成String的,这样就可以了,还有,楼主如果求面积的话刻意自己写个方法,不用非要重写toString --------------------编程问答-------------------- 因为public String toString(){}方法的返回类型是String型,而double area表示你定义的area是double类型,在area前加 ""+ 虚拟机会将area转为String型 --------------------编程问答-------------------- double 转 string --------------------编程问答--------------------
+1 --------------------编程问答--------------------
area 是 double类型的,你的返回值是要string类型的 " "+area就变成string了
注意返回类型。
+1
area 是 double类型的,你的返回值是要string类型的 " "+area就变成string了
+1 --------------------编程问答-------------------- 感觉完全没必要的样子。。
补充:Java , Java SE