Java中,数据类一般都要重载toString()方法,如果没有重载该方法就相当于犯了编程的大忌。下面来说说该方法的使用。
toString()方法是object里面的方法,而所有类都继承自object,所以所有对象都有这个方法。特别是在使用System.out.println(xx)这样的语句时,如果“xx”不是String类型,就会调用“xx”对象的toString()方法。
这个方法是干什么的呢?
java输出用的函数print();是不接受对象直接输出的,只接受字符串或者数字之类的输出。那么你想把一个创建好的对象拿来输出怎么办?例如:
public class A{
public String toString(){
return "this is A";
}
}
A obj=new A();
System.out.println(obj);
会得到输出:this is A
按照print接受的类型来说,obj是不能直接输出的,那么是否代表这个是不能编译运行的呢?当然不是。因为当println检测到输出的是一个对象而不是字符或者数字时,那么它会去调用这个对象类里面的soString 方法。
即使你没有创建,因为是所有的类都是集成object类,所以自然也继承了这个方法。所以默认情况下,你输出一个对象,会调用这个对象继承的toString方法,而object里的这个方法,默认的功能是返回这个对象的名称。