1 package face_object; 2 /* 3 * Object:所有类的根类。 4 * Object是不断抽取而来的,具备所有对象都具备的共性内容。 5 * 常用的共性功能: 6 * 7 * 8 */ 9 10 /*class Fu {// extends Object 11 Fu(){ 12 super(); 13 } 14 } 15 class Zi extends Fu { 16 Zi(){ 17 super(); 18 } 19 } 20 */ 21 class Person extends Object{ 22 private int age; 23 Person(int age){ 24 this.age = age; 25 } 26 //比较Person的年龄。是否是同龄人 27 /*public boolean compare(Person p) { 28 return this.age == p.age; 29 }*/ 30 /* 31 * 一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相等的依据。 32 */ 33 public boolean equals(Object obj) {//重写 34 if(!(obj instanceof Person)) { 35 throw new ClassCastException("类型错误"); 36 } 37 Person p = (Person)obj; 38 return this.age == p.age; 39 } 40 41 public int hashCode() { 42 return age;//重写哈希值,以年龄作为哈希值 43 } 44 } 45 class Demo { 46 47 } 48 49 50 public class ObjectDemo2 { 51 public static void main(String[] args) { 52 Person p1 = new Person(20); 53 Person p2 = new Person(20); 54 55 //getClass返回字节码文件对象 在内存中只有一份 56 Class clazz1 = p1.getClass(); 57 Class clazz2 = p2.getClass(); 58 System.out.println(clazz1 == clazz2);//打印true 59 System.out.println(clazz1.getName());//打印Person 60 61 } 62 }View Code