java基礎:Object 的toString方法
一:首先看Demo1
<strong><span style="font-size:18px;">public class Dog1{
Dog1(){
}
public static void main(String[] args) {
Dog1 d = new Dog1();
System.out.println(d);
}
}</span></strong>
輸出結果:
Dog1@77aaf64d
我們經常會看到物件的輸出結果是這個樣子?但是你想過為什麼會輸出這個結果嗎?
明白這個輸出,需要了解一下Object這個類,Object類是java所有類的基類。
也就是上面的類定義,其實等價於
<strong><span style="font-size:18px;">public class Dog1<span style="color:#ff0000;"> extends Object{</span></span></strong>
<strong><span style="font-size:18px;">Object類中有一個toString()方法</span></strong>
<strong><span style="font-size:18px;">它的實現程式碼為:</span></strong>
<strong><span style="font-size:18px;">
<span style="color:#ff0000;">public String toString() {
<span style="white-space:pre"> </span> return getClass().getName() + "@" + Integer.toHexString(hashCode());
}</span>
</span></strong>
System.out.println(d);
//等價於System.out.println(""+d);
//等價於System.out.println(""+d.toString());
//任何物件與字串拼接,都會將物件轉化為字串型別,相當於呼叫物件的toString方法。這裡就會呼叫父類的toString()方法
二:再來看Demo2
public class Dog2{
Dog2(){
}
public String toString() {
return "i am a dog";
}
public static void main(String[] args) {
Dog2 d = new Dog2();
System.out.println(d);
}
來看輸出結果:
i am a dog
為什麼呢?
因為Dog2重寫Override了父類Object的toString()方法。就會呼叫自己的toString方法。
建議類最好都重寫一下Object的toString()方法。
相關文章
- java基礎toString()方法Java
- java基礎:Object的equals方法JavaObject
- JAVA中object類中toString()方法JavaObject
- 由Object.prototype.toString.call( )引發關於toString( )方法的思考Object
- Object類toString()Object
- toStirng()與Object.prototype.toString.call()方法淺談Object
- 【ES6基礎】Object的新方法Object
- 理解Java中物件基礎Object類Java物件Object
- Java面試之基礎題---物件ObjectJava面試物件Object
- Java中parse方法,ValueOf方法,toString方法Java
- 【Java基礎】方法Java
- Java基礎 --- 方法Java
- Java基礎——方法的呼叫Java
- 談談 Object.prototype.toString 。Object
- Kotlin基礎 — objectKotlinObject
- object-c基礎Object
- Java基礎--FileDescriptor sync方法Java
- Java Object類的各個方法JavaObject
- Java中Object類的常用方法JavaObject
- JavaScript 基礎之物件ObjectJavaScript物件Object
- js中的toString方法JS
- Symbol toString() 方法Symbol
- Java基礎之泛型方法Java泛型
- Java基礎知識七——方法Java
- Java基礎-工廠方法模式Java模式
- Java程式設計基礎12——Eclipse使用&Object型別Java程式設計EclipseObject型別
- Java獲取Object中Value的方法JavaObject
- Java基礎-- ==號與equals()方法的區別Java
- 《java程式設計基礎》方法的過載Java程式設計
- Java基礎系列-equals方法和hashCode方法Java
- java基礎:執行緒方法之yield方法Java執行緒
- [Java 基礎]--呼叫webservice介面的方法JavaWeb
- Java基礎知識篇05——方法Java
- Java之所有物件的公用方法>10.Always override toStringJava物件IDE
- (基礎系列)object clone 的用法、原理和用途Object
- Java基礎-設計一個Java類所需的方法(轉)Java
- 集合的toString()方法原始碼解析原始碼
- 零基礎全方位學習java的方法Java