例:
public class Student {//實例變量
private String name;
private int age;
//添加構造方法
public Student(String name, int age) {this.name = name;
this.age = age;
}
public String getName() {return name;
}
public void setName(String name) {this.name = name;
}
public int getAge() {return age;
}
public void setAge(int age) {this.age = age;
}
//重寫toString方法
@Override
public String toString() {return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
//重寫equals()方法
@Override
public boolean equals(Object obj){//1. 比較兩個引用是否指向同一個對象。
if(this==obj){return true;
}
//2. 判斷obj是否為null。
if(obj==null){return false;
}
//3. 判斷兩個引用指向的實際對象類型是否一致。
if(obj instanceof Student){//4. 強制類型轉換。
Student s=(Student)obj;
//5. 依次比較各個屬性值是否相同。
if(this.name.equals(s.getName())&&this.age==s.getAge()){return true;
}
}
return false;
}
}
//測試
public class TestStudent {public static void main(String[] args) { Student s1=new Student("xxx",20);
Student s2=new Student("www",22);
//getClass方法:判斷s1和s2是不是同一個類型
Class class1=s1.getClass();
Class class2=s2.getClass();
if (class1==class2){System.out.println("s1和s2是同一個類型");
}
else{System.out.println("s1和s2不是同一個類型");
}
//hashCode方法
System.out.println(s1.hashCode()); //返回1784662007
System.out.println(s2.hashCode()); //返回997110508
Student s3=s1;
System.out.println(s3.hashCode()); //返回1784662007,與s1相同
//在棧里面有兩個變量s1和s3,這兩個變量都指向堆里的同一個對象
//toString方法
System.out.println(s1.toString()); //返回Student{name='xxx', age=20}
System.out.println(s2.toString()); //返回Student{name='www', age=22}
//equals方法:判斷兩個對象是否相等
System.out.println(s1.equals(s2)); //返回false
Student s4=new Student("aaa",17);
Student s5=new Student("aaa",17);
System.out.println(s4.equals(s5)); //沒有重寫equals()方法之前返回false,重寫之后返回true
}
}
本人學習筆記,若有錯誤或者不足之處,歡迎大家積極交流并給予指正。
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
文章名稱:Java常用類之Object類-創(chuàng)新互聯(lián)
瀏覽路徑:http://vcdvsql.cn/article16/ddpjgg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、靜態(tài)網(wǎng)站、定制開發(fā)、域名注冊、定制網(wǎng)站、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容