Object类是不断抽取而来的,具备着所有对象都具备的共性内容。 Object类中的常见方法: 1.equals():方法,判断其他对象是否与此对象相等(当且仅当两个变量引用的是同一个对象时,才会返回TRUE)。
class Person{ private int age; Person(int age){ this.age = age; } } class ObjectDemo{ public static void main(String[]args){ Person p1 = new Person(20); Person p2 = new Person(20); Person p3 = p1; Demo d = new Demo(); System.out.println(p1==p2); System.out.println(p1.equals(p3)); } }//引用同一个对象才会返回true class Person{ private int age; Person(int age){ this.age = age; } } class ObjectDemo{ public static void main(String[]args){ Person p1 = new Person(20); Person p2 = new Person(20); Demo d = new Demo(); System.out.println(p1==p2); System.out.println(p1.equals(p2)); } }//即使内容完全一样,不是同一个对象,返回也是FALSE一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相等的一句。
2.hashCode():直接输出对象,类名后边的就是哈希值(十进制转换十六进制方法Integer.toHexString())
class Person{ private int age; Person(int age){ this.age = age; } } class ObjectDemo{ public static void main(String[]args){ Person p1 = new Person(20); Person p2 = new Person(20); System.out.println(p1); } } //可以进行哈希码重写 class Person{ private int age; Person(int age){ this.age = age; } public int hashCode(){ return age; } } class ObjectDemo{ public static void main(String[]args){ Person p1 = new Person(20); Person p2 = new Person(20); System.out.println(Integer.toHexString(p1.hashCode())); } }3.getClass():返回此object的运行时类(当前对象所属的字节码文件对象)
class Person{ private int age; Person(int age){ this.age = age; } public int hashCode(){ return age; } } class ObjectDemo{ public static void main(String[]args){ Person p1 = new Person(20); Person p2 = new Person(20); Class clazz1 = p1.getClass(); Class clazz2 = p2.getClass(); System.out.println(clazz1==clazz2); } }4.toString():将对象转换成字符串的表现形式
任何一个对象,只要你想创建起特定的字符串表现形式,就直接将toString方法覆盖掉就可以