java中重写toString方法报错。

2025-05-12 19:54:48
推荐回答(5个)
回答1:

第一 你返回this 不对,第二 String类 属于 final类 不能被子类继承,所以不能重写 String类的方法,除非你建个工具类 自己写toString()方法

回答2:

public String toString() { 看这句你可以看到 toString方法返回的是一个 String类型的,

而你的 this 属于Test类对象 而 Test类又不是继承 String类的,所以类型肯定不对,
当你return this+""; 的时候 this + "";这个表达式 的值是字符串的了 也就是String类型,所以是对的

回答3:

每个类都有一个继承自基类Object的toString()方法,而你把这个方法给重写了,但返回值的类型和方法的返回类型不对照,所以才报错,试着把toString()的返回值改成return this+'';

回答4:

this是当前的对象不是字符串
额。。。你当前对象中没有定义字符串
所以只有 return super.toString();了
呵呵 和没重写这个方法一样

回答5:

类型不兼容,当前Test 是一个class,不能转换为String