黑马程序员技术交流社区

标题: 关于枚举问题 [打印本页]

作者: mandoooo    时间: 2015-11-27 23:45
标题: 关于枚举问题
  1. public class WeekDay {

  2.         private WeekDay(){}
  3.         public final static WeekDay SUN=new WeekDay();
  4.         public final static WeekDay MON=new WeekDay();
  5.         public WeekDay nextDay()
  6.         {
  7.                 if(this==SUN)
  8.                 {
  9.                         return MON;
  10.                 }
  11.                 else
  12.                 {
  13.                         return SUN;
  14.                 }
  15.         }
  16.         public String toString()
  17.         {
  18.                 return this==SUN?"SUN":"MON";
  19.         }
  20. }
复制代码
  1. public class EnumTest {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 // TODO Auto-generated method stub
  7.                 WeekDay weekDay=WeekDay.MON;
  8.                 System.out.println(weekDay.nextDay());
  9.         }

  10. }
复制代码


这时答案就是SUN

我调用的是nextDay()
他为什么自动调用toString方法呢?






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