国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 一篇文章帶你了解java Object根類中關于toString,equals的方法

一篇文章帶你了解java Object根類中關于toString,equals的方法

2021-12-25 17:08IT_ZI-O Java教程

這篇文章主要介紹了Object類toString()和equals()方法使用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

toString:

概念:拼接對象的地址值;toString()方法用于返回表示對象值的字符串(返回的是String對象)。

快捷寫法:Alt+Insert,直接會顯示toString的方法,選取需要返回的對象就行。

代碼案例:

定義一個person類,屬性如下:

(1)身份證號,性別,姓名,年齡,戶籍,出生日期(Data類型,需要引用java.uitl.Data)功能:

(2)自我介紹:介紹格式:(toString)

身份證號+姓名+戶籍

(3)提供對象比較equals方法,只要身份證號+姓名相同就認為對象相等

第二個小問中,自我介紹需要用到toSting的方法。看代碼:

@Override//方法重寫
  public String toString() {
      return "Person{" +
              "ID_card='" + ID_card + '\'' +
              ", name='" + name + '\'' +
              ", address='" + address + '\'' +
              '}';
  }

Alt+Insert:會得到一個提示框,選取toString方法:

一篇文章帶你了解java Object根類中關于toString,equals的方法

點擊toString,會顯示如下,因為例子題中要求比較的是

“(2)自我介紹:介紹格式:(toString)”

身份證號+姓名+戶籍。”

所以,選取我們需要的三個屬性(成員變量),跳格選取ctrl+鼠標左鍵,按住ctrl不放,點擊我們要的三個成員變量。

一篇文章帶你了解java Object根類中關于toString,equals的方法

這樣我們就能得到我們想要的toString的方法了。

 

equals:

概念:默認情況下(繼承自Object類),equals和==是一樣的(都是比較的對象的地址值)。但子類一般都要重寫這個方法。(重寫后比一般是比較對象的屬性,也就是值是否相等)。

代碼案例:

定義一個person類,屬性如下:

(1)身份證號,性別,姓名,年齡,戶籍,出生日期(Data類型,需要引用java.uitl.Data)功能:

(2)自我介紹:介紹格式:(toString)

身份證號+姓名+戶籍

(3)提供對象比較equals方法,只要身份證號+姓名相同就認為對象相等

快捷寫法:Alt+Insert:會得到一個提示框,選取equals方法:

一篇文章帶你了解java Object根類中關于toString,equals的方法

代碼中要求身份證與姓名相同。

所以勾選選取身份證與姓名的成員變量,(當我們需要比較哪些屬性時,就選取哪些屬性(成員變量))

一篇文章帶你了解java Object根類中關于toString,equals的方法

選取好后,next,finish,或者是直接Enter,Enter結束完成就行。

代碼就會顯示出來:對于還未深入學習,不了解多態,不了解Object的同學,我們只要知道如果快捷重寫equals的方法就好。而對于比較特殊的equals案例題方法重寫,請往下看:

@Override//重寫equals方法
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      Person person = (Person) o;
      return Objects.equals(ID_card, person.ID_card) &&
              Objects.equals(name, person.name);
  }

  @Override
  public int hashCode() {
      return Objects.hash(ID_card, name);
  }

按要求實現下列問題:

1)封裝一個西游記人物類Person:包含公共屬性:姓名(name)、身高(height)、武器(weapon)、種族(race),提供修改器方法(set方法),可修改全部的屬性,再提供一個void skill()技能方法

2)創建3個類繼承Person類:Tangseng(唐僧)、Sunwukong(孫悟空)、Baigujing(白骨精),分別設置他們的種族為:人族、仙族、妖族(其他信息自己確定)。

3)創建3個對象分別打印對象信息,按照例如:“姓名:孫悟空;種族:仙族”的格式在控制臺輸出信息。

4)將3個子類重寫技能方法void skill(),如果是孫悟空,就打印“吃俺老孫一棒 -100”,如果是唐僧,就打印“緊箍咒 -150”,如果是白骨精,就打印“九陰白骨爪 -125”,在測試類中調用這個方法。

5)重寫父類的equals方法進行判斷,如果種族屬性是人族或者仙族,則返回true,如果是妖族,則返回false,在測試類中對孫悟空和唐僧進行比較,打印結果,對唐僧和白骨金進行比較,并打印結果。

我們看第五個小問,

6)重寫父類的equals方法進行判斷,如果種族屬性是人族或者仙族,則返回true,如果是妖族,則返回false,在測試類中對孫悟空和唐僧進行比較,打印結果,對唐僧和白骨金進行比較,并打印結果。

這里的equals方法重寫中,要求比較種族,而且有兩個對象之間的比較。所以,我們快捷的equals速寫方法,并不能滿足題意要求。

而這里,我們只學過繼承,只會Alt+Insert,快捷寫出equals方法的同學,這里的equals方法,就需要自己重新定義來寫,當然,我們運用學過的知識簡單來完成。

看代碼:

public boolean equals(Person p) {//A.equ(B)
      if (this.race.equals("妖族")||p.race.equals("妖族"))
      {
          return false;
      }else
      {
          return true;
      }

  }

通過與上述快捷equals方法比較,我們發現,對于根類Object的傳入,我們改成了一個對象類Person的傳入。

this.race代表一個對象,p.race代表一個對象,"妖族代表種族比較的具體值"。

這樣我們就能很輕松的進行了兩個對象A與B的關于種族的比較。而不需要運用多態或者是其他的方法進行敲寫。

 

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/Lee0620/article/details/120181933

延伸 · 閱讀

精彩推薦
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
主站蜘蛛池模板: 一呦二呦三呦国产精品 | 欧洲精品 | 日韩成人免费视频 | 国产精品爱久久久久久久 | 特黄特色大片免费视频观看 | 91精品国产91久久久久久最新 | 国产精品1区2区 | 久久久久国产精品 | 日韩精品毛片免费看 | 国产成人在线一区二区 | 成人免费观看视频 | 精品在线一区二区 | 日本精品久久 | 97色伦97色伦国产欧美空 | 五月婷婷狠狠爱 | 国产精品乱码人人做人人爱 | 亚洲精品视频在线看 | 黄视频网站在线观看 | 国产精品久久国产精品 | 久久精品久久久久电影 | 亚洲精品视频一区二区三区 | 亚洲精品视频观看 | 国产精品中文字幕在线观看 | 国产v日产∨综合v精品视频 | 天天操天天干天天爽 | 成人激情视频 | 久久中文字幕网 | 国产一区二区三区免费观看 | 久久精品亚洲精品 | 国产精品久久久久久吹潮 | 国内精品久久久 | 少妇精品久久久久久久久久 | 日韩免费av | 久久91精品国产 | 中文字幕一区二区三区乱码图片 | 亚洲精品综合 | 国产成人精品av | 在线观看av网站 | 成人免费观看49www在线观看 | ts人妖另类精品视频系列 | 偷拍一区二区三区 |