黑马程序员技术交流社区
标题:
关于抽象类实现枚举的问题
[打印本页]
作者:
hollywood2014
时间:
2014-10-7 22:17
标题:
关于抽象类实现枚举的问题
这是看祥老师视频时突然碰到的一个问题,还请大家瞧瞧
class Weekday
{
private String name;
private Weekday(String name)
{
this.name=name;
}
public static final Weekday MON=new Weekday("Monday");
public static final Weekday SUN=new Weekday("Sunday");
public Weekday nextday()
{
if(this==MON)
return SUN;
else
return MON;
}
public String toString()
{
return this.name;
}
}
复制代码
祥老师说的是用抽象类实现枚举
我上面的代码是有问题的,很大的问题
这是我自己想出来的,根据是enum中可以这样实现
enum weekday{
SUN,MON(2),TUES,WES,THU,FRI,SAT;//静态成员变量,当类被调用是,静态成员变量自动调用其构造方法
private int number;
private weekday()
{
//System.out.println("i have no number!");
}
private weekday(int i)
{
this.number=i;
System.out.println("my number is"+i);
}
}
复制代码
enum中的所有的静态实例变量可被看作weekday的子类,如SUN可以有他的私有field变量number
我的第一段代码就是根据这个想到的,但是不能实现,我想应该是
public static final Weekday MON=new Weekday("Monday");
public static final Weekday SUN=new Weekday("Sunday");
这连个句子的问题,可能涉及到什么理论上的问题
还请大家指教!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2