cd.equals(cd1);
public boolean equals(Object obj){
CD cc=(CD)obj;
return artist.equals(cc.artist)}
這里的代碼的一部分CD指的是我自己創建的一個類,cd和cd1都是指的是這個類的物件,然后創建一個equals函式進行比較著兩個物件是否相等。
我想問一下就是這里的equals函式傳入的是cd1,然后equals函式return中兩個artist,第二個指的是cd1中的,但是前面那個指的是cd中的artist嗎?不是只是傳入了cd1這一個物件嗎?cd的artist也可以直接在這里呼叫嗎?
uj5u.com熱心網友回復:
equals是你定義類的成員函式么?uj5u.com熱心網友回復:
artist應該是你定義好的一個成員變數,你可以看一下這個是怎么來的,不在這個方法中,就在這個類中,不宣告變數這個是沒辦法使用的
uj5u.com熱心網友回復:
第一個 artist 是 "this.artist" 的簡寫,省略了 thisuj5u.com熱心網友回復:
1.==和equals()都是用來比較資料是否相等的方式。2.不同點:
比較內容:
==:可以比較任意資料型別,既可以比較基本資料型別,也可以比較參考資料型別
equals():只能比較參考資料型別
比較規則不同:
==:在比較基本資料型別的時候,比較的是資料本身,比較是參考資料型別時,比較的是地址值
equals():在重寫之前,比較的是地址值,在重寫之后,按照重寫的規則進行比較
uj5u.com熱心網友回復:
因為你可以已經實體化cd該類了,你呼叫的也是cd類中的equals方法,方法中的變數默認是同類中的變數,所以cd.artist當然能呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/37931.html
標籤:Java SE
