亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于equals的問題。

關于equals的問題。

Beaten丶 2016-01-21 14:20:28
class Person{ private String name ; // 定義name屬性 private int age ; // 定義age屬性 public Person(String name,int age){ this.name = name ; this.age = age ; } public boolean equals(Object obj){ if(this==obj){ // 地址相等 return true ; // 肯定是同一個對象 } if(!(obj instanceof Person)){ // 不是Person對象 return false ; } Person per = (Person) obj ; // 向下轉型 if(per.name.equals(this.name)&&per.age == this.age){ return true ; // 依次比較內容 }else{ return false ; } } public String toString(){ return "姓名:" + this.name + ";年齡:" + this.age ; }};public class ObjectDemo03{ public static void main(String args[]){ Person per1 = new Person("李興華",30) ; // 實例化Person Person per2 = new Person("李興華",30) ; // 實例化Person System.out.println(per1.equals(per2)?"是同一個人!" : "不是同一個人!") ; System.out.println(per1.equals("hello")?"是同一個人!" : "不是同一個人!") ; }};在程序public boolean equals(Object obj)中重寫了equals,但是equals中if(per.name.equals(this.name)&&per.age == this.age)的equals方法是調用String中的equals方法 還是調用重寫的public boolean equals(Object obj)方法呢。為什么 求詳細解,頭都整大了。
查看完整描述

6 回答

?
killer00go

TA貢獻11條經驗 獲得超2個贊

if(!(obj instanceof Person)){ // 不是Person對象

System.out.println("不相等");//加一句代碼進去就知道了

return false ;

}


查看完整回答
反對 回復 2016-01-22
?
killer00go

TA貢獻11條經驗 獲得超2個贊

System.out.println(per1.equals(per2)調用重寫的方法public boolean equals(Object obj){},而System.out.println(per1.equals("hello")?"是同一個人!" : "不是同一個人!") ;也是調用重寫方法public boolean equals(Object obj){}

查看完整回答
反對 回復 2016-01-22
?
IMOOCER_Vi

TA貢獻7條經驗 獲得超4個贊

好像說的不是很清楚,再說一下吧,你在自己重寫的equals方法中隨意加一個輸出語句,然后運行以后不就可以判斷出來了嗎。我運行以后的結果證明調用的是重寫以后的equals方法

查看完整回答
反對 回復 2016-01-21
?
微涼一季

TA貢獻44條經驗 獲得超97個贊

調用的是String的,因為你調用方法的對象是name這個string呀,你直接用per.equals就是調用你寫的方法了

查看完整回答
反對 回復 2016-01-21
  • Beaten丶
    Beaten丶
    不是很懂,程序執行到per1.equals(per2)的時候,要調用equals方法,因為equals方法已經被重寫了,所以調用public boolean equals(Object obj),然后執行到if語句就不清楚怎么執行了。
  • 6 回答
  • 0 關注
  • 2032 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號