Object类的toString和.equals方法
package net.laoyu.abstracts;
/**
* Object类:
* idea的打开API的方式:
* 1.Shift按两次,输入Object
* 2.Ctrl+n,输入Object
* toString方法,equals方法;
* 使用情况:一般我们对父类提供的方法不满意时,就需要进行重写
*/
public class Student {
private String name;
private int age;
public Student(){}
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;
}
/* @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return age == student.age &&
Objects.equals(name, student.name);
}系统生成的格式
@Override
public int hashCode() {
return Objects.hash(name, age);
}
*/
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
@Override
public boolean equals(Object obj){
Student they = (Student)obj;
return this.name==they.name&&this.age ==they.age;
}
public static void main(String[] args) {
Student s = new Student("张飞",25);
Student s1 = new Student("张飞",25);
/*s.setName("张三");
s.setAge(92);
Student s1 = s;
System.out.println(s==s1);true比较的是地址*/
System.out.println(s==s1);//false
System.out.println(s.equals(s1));//true
//System.out.println(s/*.toString()*/);//会默认调用toString方法
System.out.println(s);
}
}