JavaBean重寫Object類中的方法
我們時常要用到object類,但是他本身的toString方法和equals方法並不是我們所需要的話,這時候就要用到JavaBean類來重寫Object類中的方法:
這裡在java的編譯工具idea裡面十分容易,只要alt加insert或者滑鼠右鍵,然後選中Generate,然後在裡面尋找你要重寫的方法名即可,接下來將給出Student類重寫Object奇中類並在Test類中測試的程式碼:
首先是Student類的程式碼
package Object;
import java.util.Objects;
public class Student {
private int id;
private String name;
private int score;
public Student() {
}
//構造方法
public Student(int id, String name, int score) {
this.id = id;
this.name = name;
this.score = score;
}
//成員方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", score=" + score +
'}';
}
@Override
public boolean equals(Object o) { //s1.equals(s2)
//this表示s1 o在這裡表示傳進來的s2
//比較兩個物件的地址值是否相同 若相同說明是一個物件不需要再比較了 提高效率
if (this == o)
return true;
//判斷要比較的兩個物件是否是同一型別的 比如你不能拿學生和護士比較 提高了程式碼的健壯性
if (o == null || getClass() != o.getClass())
return false;
//向下轉型 使父類可以用子類的相關屬性
Student student = (Student) o;
return id == student.id &&
score == student.score &&
//這裡呼叫的是String裡面自帶的equals方法
Objects.equals(name, student.name);
}
}
接下來是Test方法
package Object;
import java.sql.SQLOutput;
public class Test {
public static void main(String[] args) {
//測試toString方法
Student student1= new Student(1,"s1",66);
System.out.println(student1);
//輸出語句直接列印物件,相當於呼叫了物件的toString方法
System.out.println(student1.toString());
Student student2= new Student(1,"s1",66);
boolean a=student1.equals(student2);
System.out.println(a);
}
}
然後很容易看出來,a應該是true下來給出來執行結果截圖
相關文章
- 重寫Object.equals()方法和Object.hashCode()方法Object
- Java中Object類的常用方法JavaObject
- JAVA中object類中toString()方法JavaObject
- String類中的equals方法與Object類中的equals方法的不同點Object
- Java中父類方法重寫有哪些需要注意的?Java
- C#中基類的重寫C#
- java 新建立的類要重寫的方法Java
- 子類重寫父類的方法@Override的快捷鍵IDE
- 【轉】Object類的常用方法Object
- Java面試系列第2篇-Object類中的方法Java面試Object
- Python 10-4——重寫父類的方法Python
- Java Object類的各個方法JavaObject
- Object類有哪些公用方法?Object
- DispatcherDervlet類中重點方法講解
- Object類和String類equals方法的區別Object
- 方法重寫
- 重寫JS中的apply,call,bind,new方法JSAPP
- Object所有類的超類之幾個方法詳析Object
- java之方法的重寫Java
- 重寫equals()方法時,需要同時重寫hashCode()方法
- c# abstract抽象類_非抽象類_virtual_虛方法_override重寫C#抽象IDE
- java方法的神奇修改(重寫)Java
- 【iOS】category重寫方法的呼叫iOSGo
- js中Object那些不常用的方法JSObject
- Java獲取Object中Value的方法JavaObject
- 從jvm角度看懂類初始化、方法過載、重寫。JVM
- 從jvm角度看懂類初始化、方法重寫、過載。JVM
- MFC之動態呼叫自己寫的類庫中的類的成員方法
- Java中final修飾的方法是否可以被重寫Java
- 方法重寫(Override)IDE
- java 方法重寫概念Java
- object類Object
- DWR中Java方法的引數及返回值、物件javabeanJava物件Bean
- Swift3.0 -- didSet(OC中重寫setter方法)Swift
- 建議重寫equals方法時也一併重寫hashCode方法
- Java重寫equals方法時為什麼要重寫hashcode方法Java
- 繼承 重寫和抽象類繼承抽象
- 理解Java中物件基礎Object類Java物件Object