java中重写toString方法报错。

publicclassTest{publicstaticvoidmain(String[]args){Strings1=newString("abc");Strings2... public class Test {
public static void main(String[] args) {
String s1=new String("abc");
String s2=new String("abc");
System.out.println(s1.equals(s2));
System.out.println(s1==s2);
System.out.println(s1);
}

public String toString() {
return this;
}
}

错误:C:\Documents and Settings\Administrator\桌面\Test.java:11: 不兼容的类型
找到: Test
需要: java.lang.String
return this;
^
1 错误

工具以退出代码 1 完成
展开
 我来答
7740798
2011-04-26 · TA获得超过110个赞
知道答主
回答量:89
采纳率:0%
帮助的人:88.9万
展开全部
第一 你返回this 不对,第二 String类 属于 final类 不能被子类继承,所以不能重写 String类的方法,除非你建个工具类 自己写toString()方法
更多追问追答
追问
public class Test {
public static void main(String[] args) {
String s1=new String("abc");
String s2=new String("abc");
System.out.println(s1.equals(s2));
System.out.println(s1==s2);
System.out.println(s1);
}

public String toString() {
return this+"";
}
}
String类的toString方法还是可以重写的,这样就不会报错了。
追答
这不叫重写 ,这叫 你自己写的toString()方法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友091845d
2013-12-04 · TA获得超过745个赞
知道小有建树答主
回答量:466
采纳率:50%
帮助的人:336万
展开全部
public String toString() { 看这句你可以看到 toString方法返回的是一个 String类型的,

而你的 this 属于Test类对象 而 Test类又不是继承 String类的,所以类型肯定不对,
当你return this+""; 的时候 this + "";这个表达式 的值是字符串的了 也就是String类型,所以是对的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晴好又慎重灬榜眼m
2011-04-26
知道答主
回答量:19
采纳率:0%
帮助的人:10.7万
展开全部
每个类都有一个继承自基类Object的toString()方法,而你把这个方法给重写了,但返回值的类型和方法的返回类型不对照,所以才报错,试着把toString()的返回值改成return this+'';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Nomat
2011-04-26 · TA获得超过314个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:323万
展开全部
this是当前的对象不是字符串
额。。。你当前对象中没有定义字符串
所以只有 return super.toString();了
呵呵 和没重写这个方法一样
更多追问追答
追问
我想重写toString方法,让它返回对象本身的引用,该该如何写呢?
追答
对象本身的应用返回值为一个对象
public Test toString() {
return this;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
霜_河
2011-04-26 · TA获得超过479个赞
知道小有建树答主
回答量:277
采纳率:0%
帮助的人:213万
展开全部
类型不兼容,当前Test 是一个class,不能转换为String
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式