常见对象Object类

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-20 05:39:46

Object类的hashCode()方法

  • public int hashCode()
    • a:返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。
    • b:不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。
public class Demo1_HashCode {
	public static void main(String[] args) {
		Object object = new Object();
		int hashCode = object.hashCode();
		System.out.println(hashCode);
	}
}

Object类的getClass()方法(了解)

  • public final Class getClass()
    • a:返回此 Object 的运行时类。
    • b:可以通过Class类中的一个方法,获取对象的真实类的全名称。 *
    • public String getName()
public class demo_getClass {
	public static void main(String[] args) {
		Object obj = new Object() ;
		Class cla = obj.getClass(); //获取该对象的字节码文件
		String name = cla.getName(); //获取名称
		System.out.println(name);
	}
}

运行结果:

java.lang.Object

Object类的toString()方法

  • public String toString()
    • a:返回该对象的字符串表示。
    • 一般建议重写该方法
public Stirng toString() {
			return name + "," + age;
		}

其原码为

public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

Object类的equals()方法

  • a:指示其他某个对象是否与此对象“相等”。
  • b:默认情况下比较的是对象的引用是否相同。
public class demo_getClass {
	public static void main(String[] args) {
		student s1 =new student("张三",23);
		student s2 =new student("张三",23);
		System.out.println(s1.equals(s2));
	}
}
class student{
	String name ;
	int age ;
	public student(String name , int age){		
	}
}

输出结果:

false

原码分析:

 public boolean equals(Object obj) {
        return (this == obj);
    }

从以上可以看出,Object中的equals方法比较的是对象的地址。所以我们在开发过程中一般重写该方法。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!