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下來給出來執行結果截圖
相關文章
- Java中Object類的常用方法JavaObject
- JAVA中object類中toString()方法JavaObject
- String類中的equals方法與Object類中的equals方法的不同點Object
- Java中父類方法重寫有哪些需要注意的?Java
- 子類重寫父類的方法@Override的快捷鍵IDE
- 【轉】Object類的常用方法Object
- Java Object類的各個方法JavaObject
- Java面試系列第2篇-Object類中的方法Java面試Object
- 方法的重寫
- 重寫equals方法以及重寫tostring方法
- 重寫JS中的apply,call,bind,new方法JSAPP
- 方法重寫
- DispatcherDervlet類中重點方法講解
- 方法重寫(Override)IDE
- js中Object那些不常用的方法JSObject
- Java獲取Object中Value的方法JavaObject
- object類Object
- Java中final修飾的方法是否可以被重寫Java
- java方法的神奇修改(重寫)Java
- 從jvm角度看懂類初始化、方法過載、重寫。JVM
- 從jvm角度看懂類初始化、方法重寫、過載。JVM
- JAVA物件導向高階:繼承:許可權修飾符(繼承注意事項) 單繼承 Object類 方法重寫Java物件繼承Object
- MFC之動態呼叫自己寫的類庫中的類的成員方法
- java 方法重寫概念Java
- 理解Java中物件基礎Object類Java物件Object
- Java常用類-Object類JavaObject
- 方法重置和重寫的區別
- 反向控制(Ioc)以及裝配JavaBean方法的變革JavaBean
- python3 筆記19.類的繼承和重寫、新增新方法Python筆記繼承
- js中Array方法重寫(二):myForEach;myEvery;mySome;myFilter;myReduceJSFilter
- 重寫Laravel異常處理類Laravel
- python類中的方法Python
- Java中方法重寫與方法過載Java
- 寫個方法,找出指定字串中重複最多的字元及其長度字串字元
- PHP中把stdClass Object轉array的幾個方法PHPObject
- 介面返回[object,Object]解決方法Object
- Java中常用類之Object類JavaObject
- Object.is()方法Object