java里面的 toString()方法重写是怎么回事啊?

public String toString(){
return "wotou"+id;
}
这个方法重写有什么作用啊? 我试了将toString();改成别的名就提示错误为什么啊? 方法都重写了名字为什么不能改啊?里面不是return了么?

string是一个对象,但也可以用基本类型创建的方式来创建,例如:

String s="abababababa";// 基本类型创建的方式

String s= new String("asdsad");//对象

java里,所有的类,不管是java库里面的类,或者是你自己创建的类,全部是从object这个类继承的。object里有一个方法就是toString(),那么其实所有的类创造的时候,都有一个toString的方法。java输出用的函数print();是不接受对象直接输出的,只接受字符串或者数字之类的输出。例如:

class Acccc

{}

Acccc s1 = new Acccc();

System.out.print(s1);

按照print接受的类型来说,s1是不能直接输出的,那么是否代表这个是不能编译运行的呢?当然不是。因为当print检测到输出的是一个对象而不是字符或者数字时,那么它会去调用这个对象类里面的toString 方法。

即使你没有创建,因为是所有的类都是集成object类,所以自然也继承了这个方法。所以默认情况下,你输出一个对象,会调用这个对象继承的toString方法,而object里的这个方法,默认的功能是返回这个对象的名称。

class A

{

String toString()

return “cao”;

}

class B

{

public static void main(String [] args)

{

A x1 = new A();

System.out.println(x1);//输出就是"cao"……

}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-30
每个方法在函数表里都有唯一的映射关系的,你把方法名字改了,映射值就不对了,也就是这个方法不存在了。

另外,你要明白的一点是,重写是指重写方法的内容,而不是方法本身。这在任何一个语言里面都是通用的。
第2个回答  2009-05-30
改成别的名字不会出错,是不是你在方法前写了@Override?
施小平朋友,你觉得toString()有可能找不到么?
第3个回答  推荐于2016-11-20
重写是指从父类继承后,子类对父类某方法的具体实现进行修改,不能修改其方法名

当System.out.println(对象)时,默认使用toString()方法,将对象转为字符串输出

toString()方法继承于所有类的隐性基类(所有类的大哥大 Object类)
如果某类无重写toString()方法,这时调用toString()将得到(类名+地址名名)这样的字符串

改成别的方法名应该是不会出错的,是否你添加了重写标记
改成别的方法名是不能称为“重写”的本回答被提问者采纳
第4个回答  2009-05-30
如果类A里有toString()函数。

A temp=new A();
那么在调用System.out.println(temp)就等于调用System.out.println(temp.toString()).

如果找不到toString()函数,就会报错。

Java 在什么情况下要重写toString
两个都重写toString了吧。你查查JDK的API就知道了。首先说一下,什么情况下要重写toString,object类里的toString只是把字符串的直接打印,数字的要转化成字符再打印,而对象,则直接打印该对象的hash码。所以当你要想按照你想要的格式去字符串一些对象的时候,就需要重写toString了。比如一个Student对象,直...

关于ToString重写的问题
重写toString 则是 Override public String toString(){ \/\/代码 } 这样做的好处是,如果重写出的方法如果不符合重写方法的约束,比如拼写错误或者返回值类型不对或者参数有误,则IDE会报错,方便查错..希望有所帮助.

java编程里面to String有什么作用啊?
toString是object里面已经有了的方法,而所有类都是继承object,所以“所有对象都有这个方法”它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法 总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一...

java的tostring()方法的作用是什么呢?
Java中toString方法的作用是返回对象的字符串表示形式。详细解释如下:1. 对象的字符串表示形式 在Java中,每个对象都有默认的toString方法,该方法通常返回对象的类名和哈希码的十六进制表示。但是,当我们在实际开发中创建自定义类时,通常会重写这个方法,以返回更有意义的字符串表示形式。例如,如果我们...

java中toString()方法怎么用
因为在java中 Object类是基类,所以每个类都会有toString方法。System.out.println(Object)实际上就是调用 object的toString方法。我们用的比较多的就是 String类的toString 方法,String类重写了Object的toString方法,用于返回String的字符串值。因为它是object里面已经有了的方法,而所有类都是继承object,所以“所有对象都...

Java中什么时候需要显示重载toString方法
)方法,已经自己重载了,那么一般而言我们需要重载toString()方法,还有一个很简单的方法就是,让系统帮你判断什么时候需要重载,就是编译后,发现打印出的结果类似于getClass().getName() + '@' + Integer.toHexString(hashCode())也就是比如像一个类Test中 ...

JAVA的tostring()方法的作用是什么呢?
Java的toString()方法是一个核心概念,它在Object类中定义,所有类都继承了这一方法。其主要作用是将对象转换为字符串形式,便于调试和输出。默认情况下,toString()返回的是对象的内存地址和哈希码,例如:***.orc@11b86e7或***.orc@11b8要6e7。但这种默认输出通常不够直观,因此开发者需要根据需求...

初学者求教:java中重写方法 Arrays.toString() 的疑惑
简单说一下 Arrays.toString() ,它返回是由数组内所有元素的字符串化(toString)合并而成的字符串对象。因此:1. 不是同一个 toString 方法,任何对象都可调用自身的 toString 方法。2. 因为 Player 类的 toString 方法内曾调用了“ Arrays.toString(cards) ”。4. 任何对象都可调用自身的 toString...

java中的toString什么意思?toString有什么用?
toString()是Object的方法,因为所有类都默认继承了Object类,所以也都具有toString()方法,但是并不是通常想要的功能。举个例子:你定义了一个类Person如下:public class Persion { String name;int age;String gender;} 那现在,需要直接获取到这个Persion对象的数据,可以这样对重写这个toString()方法,...

public String toString(){ return 自定义字符串; }
String name;} (假设属性为对应的首字母大写)如果不重写ToString()方法 那么要输出姓名和年龄 只能: stu.Name+stu.Age 如果重写ToString()方法 即 ToString(){ return this.name+this.Age;} 则直接就可以调用方法来显示了。其次,可以将属性设置为仅Set,那么外部就无法通过属性获取相应的内容,但是...

相似回答