黑马程序员技术交流社区

标题: 普通类实现枚举 [打印本页]

作者: 冯晓骏    时间: 2013-10-29 23:27
标题: 普通类实现枚举
下面代码编译不过,如果改成if else就可以了,为什么?
  1. public class WeekDay {
  2.         private WeekDay(){}
  3.        
  4.         public final static WeekDay MON = new WeekDay();
  5.         public final static WeekDay TUE = new WeekDay();
  6.        
  7.         public WeekDay nextDay()
  8.         {
  9.                 if(this == MON)
  10.                         return TUE;
  11.                
  12.                 if(this == TUE)
  13.                         return MON;

  14.         }
  15.        
  16.         public String toString()
  17.         {
  18.                 if(this == MON)
  19.                         return "this is Monday";
  20.                
  21.                 if(this == TUE)
  22.                         return "this is Tuesday";

  23.         }
  24. }
复制代码

作者: 零下五度的水    时间: 2013-10-29 23:37
对编译器来说,如果 this != MON && this !=TUE 那么那个方法就没有返回值了,下面加一句 return null 就好了
作者: 黄炳期    时间: 2013-10-30 08:58
如楼上所说,每个方法中加return语句就行了。
或者就就是if else。


问题已经解决,帖子重新分类~
作者: 冯晓骏    时间: 2013-10-30 16:41
零下五度的水 发表于 2013-10-29 23:37
对编译器来说,如果 this != MON && this !=TUE 那么那个方法就没有返回值了,下面加一句 return null 就好 ...

这也太智能了吧。。




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