黑马程序员技术交流社区
标题:
一串整齐的代码,求解释下。模糊了
[打印本页]
作者:
邱俊杰
时间:
2012-4-11 00:39
标题:
一串整齐的代码,求解释下。模糊了
class Demo
{
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; [color=Red]其实这里是模糊的,[/color]
}
}
class Person
{
}
public class objTostring
{
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:4
demo:7 模糊了、怎么个执行的。
作者:
程洪
时间:
2012-4-11 01:04
{:soso_e110:}
1、39行 new Demo(4) 构造方法需要传入一个int值
2、04行开始 将4 赋值给 Demo对象中的 num值
3、40行 System.out.println(d1); 写得很明白了输出对象时 自动输出 toString方法
4、25行 toString方法返回了一个字符串 那么你打印出来的就是 27行 返回的 字符串了
作者:
李震 李震 李震
时间:
2012-4-11 01:14
楼上正解,你实列花Demo d1 = new Demo(4); 通过构造函数,将值传给num,toString返回的是你对象调用变量的值。
你已经重写toStringd方法了,所以返回的对象是你重写toString返回的值。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2