Object:是所有对象的直接或者间接父类,传说中的上帝。
该类中定义的肯定是所有对象都具备的方法。
Object类中已经提供了对对象是否相同的比较方法
如果自定义类中也有比较相同的功能,没有必要重新定义
只要沿袭父类中的功能,建立自己特有的比较内容即可,这就是覆盖
public class Object_equals_07 { public static void main(String[] args) { // TODO Auto-generated method stub //比较对象 /*Demo d1=new Demo(); Demo d2=new Demo(); Demo d3=d1; System.out.println(d1.equals(d2)); //比较的地址 false System.out.println(d1.equals(d3)); //true */ //比较数字 Demo d4=new Demo(4); Demo d5=new Demo(4); System.out.println(d4.equals(d5)); //true Person p=new Person(); System.out.println(d4.equals(p)); //false } } class Demo{ private int num; Demo(){} Demo(int num){ this.num=num; } /*public boolean compare(Demo d){ return this.num==d.num; }*/ public boolean equals(Object o){ //Object o=new Demo(); if(o instanceof Demo){ Demo d=(Demo)o; return this.num==d.num; } return false; } } class Person{ }
toString() 打印类名@哈希吗
public class Object_toString_08 { public static void main(String[] args) { // TODO Auto-generated method stub Demo1 d1=new Demo1(); Demo1 d2=new Demo1(); System.out.println(d1.toString()); System.out.println(Integer.toHexString(d1.hashCode())); Class c=d1.getClass(); System.out.println(c.getName()+"@"+Integer.toHexString(d1.hashCode())); } } class Demo1{ int num=10; public String toString(){ return "deme:"+num; } } class Person1{ }