一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術(shù)|正則表達(dá)式|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java中Object toString方法簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

Java中Object toString方法簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

2020-09-24 15:58動(dòng)力節(jié)點(diǎn) JAVA教程

Object類在Java里面是一個(gè)比較特殊的類,JAVA為了組織這個(gè)類組織得比較方便,它提供了一個(gè)最根上的類,相當(dāng)于所有的類都是從這個(gè)類繼承,這個(gè)類就叫Object。接下來通過本文給大家介紹Object toString方法,需要的的朋友參考下吧

一、Object類介紹 

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

二、toString方法介紹 

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

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

任何一個(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)容。

以上所述是小編給大家介紹的Java中Object toString方法簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女主被男主为催奶药h | 四虎精品免费国产成人 | 亚洲欧美日韩综合在线播放 | 手机看片福利 | 免费观看视频在线播放 | 亚洲一区二区三区在线播放 | 99在线免费观看视频 | 经典三级四虎在线观看 | 四虎在线精品观看免费 | 91资源在线视频 | 成年人免费在线视频 | 美人的淫事[纯hh] | 和岳m的小说 | 高清欧美不卡一区二区三区 | 日本人成年视频在线观看 | 久久精品AV一区二区无码 | 国产日韩精品一区二区在线观看播放 | 国产在线精品亚洲第一区香蕉 | 亚洲精品色图 | 欧美亚洲另类综合 | 亚洲欧美日韩综合一区久久 | 乌克兰17一18处交 | 亚洲一成人毛片 | 亚洲国产一区二区a毛片 | 忘忧草在线社区WWW日本-韩国 | 齐天大性之七仙女欲春迅雷链接 | 九九九九九九伊人 | 国产精品边做边接电话在线观看 | 9420高清视频在线观看网百度 | 男人影院天堂网址 | 欧美图片另类小说综合 | 美女脱了内裤让男桶爽 | 国内外精品免费视频 | 久久伊人中文字幕有码 | 久见久热 这里只有精品 | 国产在线视频一区二区三区 | 亚洲国产精品综合一区在线 | 亚洲AV永久无码精品老司机蜜桃 | 精品国产一区二区三区在线 | 91香蕉国产在线观看免费永久 | 成人永久免费福利视频网站 |