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方法比较的是对象的地址。所以我们在开发过程中一般重写该方法。
来源:CSDN
作者:我不秃
链接:https://blog.csdn.net/qq_45664124/article/details/104394065