1.equals方法
public boolean equals(Object obj) {
return (this == obj);//注意:默认比较的是两个对象的地址
}
重写注意:this or other
1. s1和s2是不是指向同一个对象
if(this==other){
retuden false;}
2. s2是不是null
if(other==null){
return false;}
3. s1的类型实际类型和s2对象的实现类型是否相等
If(this.getClass!=other.getClass){
Return false;}
4. 自定义
{……}
2.hashCode
对象获取自己的哈希值,使用哈希算法,根据对象的特点,计算出一个数字,这个数字就是对象的哈希值
相同对象的哈希值一定相同
哈希值不同的两个对象一定也是不同的
哈希值相同的两个对象,有可能相同有可能不同
对象的哈希值 相当于 人的姓
相同人的姓一定是相同的
姓氏不同的两个人一定也是不同的
姓氏相同的两个人,有可能相同有可能不同
java中,默认的hashCode方法(Object中的),会保证不同的对象,都会有不同的哈希值,是一个native方法
public int hashCode() {
return Id;
}
3.toString:打印对象时隐式调用
4.getClass:
Object obj=null;
obj= new Student();
obj= new Object();
System.out.println(obj.getClass());
很重要的一个方法:
public void test(Object obj) {
Class c=obj.getClass();
}