package com.equals;
import com.Object.object1;
import java.util.Objects;
public class eQuals {
//"="表示对方是否相等。如果是基本类型则表示值相等,如果是引用类型则表示地址相等即是一个对象
//equals()提供定义“对象内容相等”的逻辑,比如,比如公安系统中认为id相同的人就是同一个人,学籍系统中认为两个对象的hashcode.但是可以根据自己的要求equals方法
String name;
int id;
String paw;
//所有类都是object类的子类,也具备object类的所有特性
//如果类的声明中未声明未使用extends,则默认继承Objct类。
public eQuals(int id,String name, String paw){
this.name=name;
this.id=id;
this.paw=paw;
}
public String toString(){
return "账号"+name+"密码:"+paw;
}
public static void main(String[] args) {
/*object1 o1=new object1();
System.out.println(o1.toString());
object1 o2=new object1();
System.out.println(o2.toString());
object1 o3=new object1();
System.out.println(o3);//默认调用toString()方法
*/
eQuals e1=new eQuals(100,"lixiang","123456");
eQuals e2=new eQuals(100,"lisi","65432" );
System.out.println(e1.toString());
System.out.println(e2.toString());
System.out.println(e1.equals(e2));
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
eQuals eQuals = (eQuals) o;
return id == eQuals.id &&
Objects.equals(name, eQuals.name) &&
Objects.equals(paw, eQuals.paw);
}
@Override
public int hashCode() {
return Objects.hash(name, id, paw);
}
}