27.Object

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{
	
}

  

posted @ 2018-01-03 14:13  一日看尽长安花cxjj  阅读(125)  评论(0)    收藏  举报