日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java基础学习总结(7)——Object类

發(fā)布時(shí)間:2025/3/20 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java基础学习总结(7)——Object类 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

一、Object類介紹

  Object類在JAVA里面是一個(gè)比較特殊的類,JAVA只支持單繼承,子類只能從一個(gè)父類來繼承,如果父類又是從另外一個(gè)父類繼承過來,那他也只能有一個(gè)父類,父類再有父類,那也只能有一個(gè),JAVA為了組織這個(gè)類組織得比較方便,它提供了一個(gè)最根上的類,相當(dāng)于所有的類都是從這個(gè)類繼承,這個(gè)類就叫Object。所以Object類是所有JAVA類的根基類,是所有JAVA類的老祖宗。所有的類,不管是誰,都是從它繼承下來的。

二、toString方法介紹

  

  一個(gè)字符串和另外一種類型連接的時(shí)候,另外一種類型會(huì)自動(dòng)轉(zhuǎn)換成String類型,然后再和字符串連接。基礎(chǔ)的數(shù)據(jù)類型intfloatdouble轉(zhuǎn)換成字符串比較簡單,按照它們的數(shù)字轉(zhuǎn)換過來就成了,可以引用類型呢,Person?p?=?new?Person();一個(gè)字符串加上這個(gè)p,你就不知道要怎么把這個(gè)p轉(zhuǎn)換成字符串了,因?yàn)檫@個(gè)p是一個(gè)引用類型。

1 package cn.galc.test; 2 3 public class TestToString { 4 5 public static void main(String[] args) { 6 Dog d = new Dog(); 7 /** 8 * 如果沒有重寫toString方法,那么輸出來的默認(rèn)的字符串內(nèi)容是“類名+哈希編碼”, 9 * 如:dog=cn.galc.test.Dog@150bd4d 10 * 這里的d就是一個(gè)引用類型,打印的時(shí)候,這個(gè)引用類型d會(huì)自動(dòng)調(diào)用toString()方法將自己轉(zhuǎn)換成字符串然后再與字符串”d:=”相連, 11 * 然后一起被打印出來。d為什么可以自動(dòng)調(diào)用toString()方法呢,Dog類里面也沒有聲明這個(gè)toString()方法。 12 * 這是因?yàn)閠oString()方法是Object類里面的方法,而所有的類都是從Object類繼承下來的, 13 * Dog類當(dāng)然也不例外,所以Dog類繼承了Object類里面的toString()方法, 14 * 所以Dog類的對(duì)象當(dāng)然可以直接調(diào)用toString()方法了。 15 * 但是Dog類對(duì)繼承下來的toString()方法很不滿意, 16 * 因?yàn)槭褂眠@個(gè)繼續(xù)下來toString()方法將引用對(duì)象轉(zhuǎn)換成字符串輸出時(shí)輸出的是一連串令人看不懂的哈希編碼。 17 * 為了使打印出來的信息使得正常人都能看得懂,因此要在Dog類里面把這個(gè)繼承下來的toString()方法重寫, 18 * 使得調(diào)用這個(gè)toString()方法將引用對(duì)象轉(zhuǎn)換成字符串時(shí)打印出來的是一些正常的,能看得懂的信息。 19 * 在子類重寫從父類繼承下來的方法時(shí),從父類把要重寫的方法的聲明直接copy到子類里面來, 20 * 這樣在子類里面重寫的時(shí)候就不會(huì)出錯(cuò)了。 21 */ 22 System.out.println("dog="+d);//打印結(jié)果:dog=I’m a cool Dog 23 } 24 } 25 26 class Dog{ 27 /** 28 * 在這里重寫了Object類里面的toString()方法后, 29 * 引用對(duì)象自動(dòng)調(diào)用時(shí)調(diào)用的就是重寫后的toString()方法了, 30 * 此時(shí)打印出來的顯示信息就是我們重寫toString()方法時(shí)要返回的字符串信息了, 31 * 不再是那些看不懂的哈希編碼了。 32 */ 33 public String toString() { 34 return "I’m a cool Dog"; 35 } 36 }

  任何一個(gè)類都是從Object類繼承下來的,因此在任何一個(gè)類里面都可以重寫這個(gè)toString()方法。toString()方法的作用是當(dāng)一個(gè)引用對(duì)象和字符串作連接的時(shí)候,或者是直接打印這個(gè)引用對(duì)象的時(shí)侯,這個(gè)引用對(duì)象都會(huì)自動(dòng)調(diào)用toString()方法,通過這個(gè)方法返回一個(gè)表示引用對(duì)象自己正常信息的字符串,而這個(gè)字符串的內(nèi)容由我們自己去定義,默認(rèn)的字符串內(nèi)容是“類名+哈希編碼”。因此我們可以通過在類里面重寫toString()方法,把默認(rèn)的字符串內(nèi)容改成我們自己想要表達(dá)的正常信息的字符串內(nèi)容。

轉(zhuǎn)載于:https://my.oschina.net/zhanghaiyang/blog/595079

總結(jié)

以上是生活随笔為你收集整理的Java基础学习总结(7)——Object类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。