idea 重写方法便捷
package cn.mb.demoapi;
/**
- author 骚彬
- date 2019/7/27 19:28
/
/
JavaBean重写Object类的方法
需求:开发中通常需要将对象转成字符串形式进行传输,也需要对即将使用的对象进行相等判断。
定义标准JavaBean类,重写toString和equals方法。步骤:
◆定义标准Java Bean类Student,属性:
id,name,score
◆重写toString( :
该对象的字符串表现形式, -般都是包含所有属性值且具有一定的格式的字符串
◆重写equals() :
可以通过关键属性( id )来确定该类的两个对象是否相同,可以比较所有属性值
*/
public class TestObject1 {
public static void main(String[] args) {
//测试toString()方法
//创建学生类对象
Student s1 = new Student(1, “mb”, 66);
System.out.println(s1);
//测试equals();方法s1.equals(s2);
Student s2 = new Student(10, “mbb”, 80);
System.out.println(s2);
boolean b1 = s1.equals(s2);
System.out.println(b1);
}
}
package cn.mb.demoapi;
import java.util.Objects;
/**
-
author 骚彬
-
date 2019/7/27 20:01
*/
//学生类
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;
}
//toString():用来将对象转化成其对应的字符串形式@Override
public String toString() {
return “Student{” +
“id=” + id +
“, name=’” + name + ‘’’ +
“, score=” + score +
‘}’;
}//equals();用来比较两个对象是否相等
// //自定义:
// //id相同则为同一个对象
// public boolean equals (Object obj) { //s1.equals(s2);
// /*
// 非静态方法:this:谁调用this就是谁 s1
// obj:s2
// */
// //向下转型
// Student s2 = (Student) obj;
// return this.id == s2.id;//学生类型赋值给父类执行向上转型的操作,多态父类引用不能使用子类的特有成员
//快捷键搞定equals方法@Override
public boolean equals(Object o) {//s1.equals(s2);
//this:s1; o:s2
//比较地址值,提高效率,如果if控制语句只有一句{}可省略
if (this == o) return true;
//判断是否为同一类型对象,提高程序健壮性
if (o == null || getClass() != o.getClass()) return false;
//向下转型,正常逻辑
Student student = (Student) o;
return id == student.id &&
score == student.score &&
name.equals(student.name);
}
}