黑马程序员技术交流社区

标题: toString问题 [打印本页]

作者: 公子-醉香    时间: 2013-12-17 08:00
标题: toString问题
  1. public class WeekDay {
  2.         private WeekDay(){
  3.                
  4.         }
  5.         public final static WeekDay SUN=new WeekDay();
  6.         public final static WeekDay MON=new WeekDay();
  7.         public final static WeekDay TUE=new WeekDay();
  8.         public final static WeekDay WED=new WeekDay();
  9.         public final static WeekDay THU=new WeekDay();
  10.         public final static WeekDay FN=new WeekDay();
  11.         public final static WeekDay SAT=new WeekDay();
  12.         public WeekDay nextDay(){
  13.                 if(this==SUN){
  14.                         return MON;
  15.                 }else if(this==MON){
  16.                         return TUE;
  17.                 }else if(this==TUE){
  18.                         return WED;
  19.                 }else if(this==WED){
  20.                         return THU;
  21.                 }else if(this==THU){
  22.                         return FN;
  23.                 }else if(this==FN){
  24.                         return SAT;
  25.                 }else{
  26.                         return SUN;
  27.                 }
  28.         }
  29.        
  30.         public String toString(){
  31.                 if(this==SUN){
  32.                         return "星期日";
  33.                 }else if(this==MON){
  34.                         return "星期一";
  35.                 }else if(this==TUE){
  36.                         return "星期二";
  37.                 }else if(this==WED){
  38.                         return "星期三";
  39.                 }else if(this==THU){
  40.                         return "星期四";
  41.                 }else if(this==FN){
  42.                         return "星期五";
  43.                 }else{
  44.                         return "星期六";
  45.                 }
  46.         }
  47. }
复制代码
在nextDay方法中已经有了返回值,为什么还要在下面重载toString方法?

作者: 侠客梦的懒猫    时间: 2013-12-17 08:04
当我们调用nextDay()时,他返回的是一个对象weekday,比如在类 WeekDay 中,他新建了七个对象,这是
我们调用toString是为了通过判断对象来输出我们已经设定好的值,“星期日”,“星期一”希望能够帮助你
作者: ┾——黑马    时间: 2013-12-17 08:54
当调用nextDay方法时候返回的是一个对象,这时候如果直接输出的话,默认调用的没有重写之前的toString()方法打印的是地址值,重写toString()方法可以得到我们想要的结果




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2