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

本文探讨了Java中Object类的equals方法及其覆盖机制,解释了如何在自定义类中重写equals方法来比较对象的相等性,同时强调了使用toString方法的重要性。
/*
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/archive/2013/04/07/3006376.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值