下面在Cat類里面重寫這個繼承下來的equals()方法:
class Cat {
int color, weight, height;
public Cat(int color, int weight, int height) {
this.color = color;
this.weight = weight;
this.height = height;
}
/**
* 這里是重寫相等從Object類繼承下來的equals()方法,改變這個方法默認的實現(xiàn),
* 通過我們自己定義的實現(xiàn)來判斷決定兩個對象在邏輯上是否相等。
* 這里我們定義如果兩只貓的color,weight,height都相同,
* 那么我們就認為這兩只貓在邏輯上是一模一樣的,即這兩只貓是“相等”的。
*/
public boolean equals(Object obj){
if (obj==null){
return false;
}
else{
/**
* instanceof是對象運算符。
* 對象運算符用來測定一個對象是否屬于某個指定類或指定的子類的實例。
* 對象運算符是一個組合單詞instanceof。
* 該運算符是一個雙目運算符,其左邊的表達式是一個對象,右邊的表達式是一個類,
* 如果左邊的對象是右邊的類創(chuàng)建的對象,則運算結(jié)果為true,否則為false。
*/
if (obj instanceof Cat){
Cat c = (Cat)obj;
if (c.color==this.color && c.weight==this.weight && c.height==this.height){
return true;
}
}
}
return false;
}
這里邊cat c=(cat)obj是什么意思?
此時在再main方法里面執(zhí)行打印的命
添加回答
舉報
0/150
提交
取消