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里的這個方法,默認的功能是返回這個對象的名稱。