黑马程序员技术交流社区
标题:
小纠结
[打印本页]
作者:
不破大地
时间:
2013-6-20 12:32
标题:
小纠结
public class enumeration
{
public static void main(String[] args)
{
WeekDay weekday=WeekDay.SUN;
System.out.println(weekday.nextday());
}
}
class WeekDay
{
private WeekDay(){}
public final static WeekDay SUN=new WeekDay();
/*
{
public WeekDay nextday()
{
return MON;
}
};
*/
public final static WeekDay MON=new WeekDay();
/*
{
public WeekDay nextday()
{
return SUN;
}
};
*/
public WeekDay nextday()
{
if(this==SUN)
{
return MON;
}
else
{
return SUN;
}
}
//public abstract WeekDay nextday();
public String tostring()
{
return this==SUN?"SUN":"MON";
}
}
(1)在以上代码中,为啥我打印的是哈希值啊,明明是和张老一样的。。
(2)如果将nextday()方法的返回值改成String类型的就可以了
(3)将返回值改完后,下面的tostring方法应该可以省略。
如果这样改成(2)和(3)的话,和原来的有啥不一样哈???。。。各位神仙请赐教。。。。
作者:
周朝
时间:
2013-6-20 14:36
复写了toString()方法,应该是不会打印哈希值的,你的代码我看了,也运行了,我打印的是toString().
作者:
Super_Class
时间:
2013-6-20 17:06
public String tostring()
{
return this==SUN?"SUN":"MON";
}
大小写弄错了 toString()
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2