黑马程序员面向对象08天2

/*
Object:是所有对象的直接后者间接父类,传说中的上帝。
该类中定义的肯定是所有对象都具备的功能。



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;
    }
    
    /*
    public boolean compare(Demo d)
    {
        return this.num==d.num;
    }
    */
    public String toString()
    {
        return "demo:"+num;
    }


}
class Person 
{
}


class ObjectDemo 
{
    public static void main(String[] args) 
    {
        Demo d1 = new Demo(4);
        System.out.println(d1);//输出语句打印对象时,会自动调用对象的toString方法。打印对象的字符串表现形式。
        Demo d2 = new Demo(7);
        System.out.println(d2.toString());
        //Demo d2 = new Demo(5);
        //Class c = d1.getClass();
//
//        System.out.println(c.getName());
//        System.out.println(c.getName()+"@@"+Integer.toHexString(d1.hashCode()));
//        System.out.println(d1.toString());
        //Person p = new Person();
        ///System.out.println(d1.equals(p));

    }
}
原文地址:https://www.cnblogs.com/guwenren/p/3006376.html