当前位置:编程学习 > JAVA >>

关于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 楼 huxiweng 的回复:
area 是 double类型的,你的返回值是要string类型的 " "+area就变成string了

+1. --------------------编程问答-------------------- 重写的目的是,用处是? --------------------编程问答--------------------
引用 1 楼 huxiweng 的回复:
area 是 double类型的,你的返回值是要string类型的 " "+area就变成string了

+1 --------------------编程问答-------------------- 定义的是带返回值String类型,当然要返回String类型了。  --------------------编程问答--------------------
引用 1 楼 huxiweng 的回复:
area 是 double类型的,你的返回值是要string类型的 " "+area就变成string了


注意返回类型。 --------------------编程问答-------------------- 相当于 
new StringBuilder().append(area).toString();
--------------------编程问答--------------------
引用 1 楼 huxiweng 的回复:
area 是 double类型的,你的返回值是要string类型的 " "+area就变成string了

+1 --------------------编程问答--------------------
引用 楼主 oGaiZhuZiJi 的回复:
我是初学者哈   
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

???? 

+1 --------------------编程问答--------------------
引用 楼主 oGaiZhuZiJi 的回复:
我是初学者哈   
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

???? 


引用 楼主 oGaiZhuZiJi 的回复:
我是初学者哈   
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

???? 


+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 --------------------编程问答--------------------
引用 6 楼 Sally_simple 的回复:
Quote: 引用 1 楼 huxiweng 的回复:

area 是 double类型的,你的返回值是要string类型的 " "+area就变成string了


注意返回类型。


+1 --------------------编程问答--------------------
引用 14 楼 gxftry1st 的回复:
Quote: 引用 6 楼 Sally_simple 的回复:

Quote: 引用 1 楼 huxiweng 的回复:

area 是 double类型的,你的返回值是要string类型的 " "+area就变成string了


注意返回类型。


+1
+1 --------------------编程问答--------------------
引用 1 楼 huxiweng 的回复:
area 是 double类型的,你的返回值是要string类型的 " "+area就变成string了

+1 --------------------编程问答-------------------- 感觉完全没必要的样子。。
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,