黑马程序员技术交流社区
标题:
toString的用法
[打印本页]
作者:
疯狂的大猫
时间:
2015-5-13 16:13
标题:
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 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());
//System.put.println(c.getName);
//System.put.println(c.getName()+"@@"+Integer.toHexString(d1.hashCode()));
//System.put.println(d1.toString());
//Person p = new Persom();
//System.out.println(d1.equals(p));
}
}
复制代码
作者:
疯狂的大猫
时间:
2015-5-13 16:14
为什么打印都d1和d2,d1可以不加toSrtring?
作者:
tinlen
时间:
2015-5-13 21:40
因为你在Demo类里已经重写了toString方法。并且你是使用Demo类创建对象。所以当然也不会再调用Object里的toString。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2