代码片--Object的探索

package com.dreamy.day03;

/**
 * @author dreamy
 * 需求:
 * Object:是所有对象的直接或者间接父类,传说中的上帝。该类中定义的肯定时所有对象都具备的功能。
 *
 * 如果自定义类中也有比较相同的功能,没有必要重新定义。
 * 只要沿袭父类中的功能,建立自己特有比较内容即可,这就是覆盖
 */
class Demo{   //extends Object
    private int num;
    Demo(int num){
        this.num=num;
    }
    
    public boolean equals(Object obj) {//Object obj=new Demo();--多态
        if(!(obj instanceof Demo))
            return false;
        Demo d=(Demo) obj;
        return this.num==d.num;
    }
    
    @Override
    public String toString() {
        
        return "demo:"+num;
    }
}
class Person{
    
}
public class ObjectDemo01 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Demo d1=new Demo(4);
        System.out.println(d1.toString());
        Demo d2=new Demo(5);
        System.out.println(d2.toString());
        Demo d3=d1;
        
//        System.out.println(d1.equals(d2));
//        System.out.println(d1==d2);
//        System.out.println(d1==d3);
//        
//        
//        Class clazz=d1.getClass();
//        
//        System.out.println(clazz.getName());
//        System.out.println(clazz.getName()+"@@"+Integer.toHexString(d1.hashCode()));
//        System.out.println(d1.toString());
//        System.out.println(Integer.toHexString(d1.hashCode()));
    }

}

 

posted @ 2017-12-14 20:24  dreamy_java  阅读(102)  评论(0编辑  收藏  举报