public final static ColorRED= new Color(){ //这边就是用到了匿名类,并且是无参构造函数
@Override
public Color nextColor() {
// TODO Auto-generated method stub
return BLUE;
}
};
public final static ColorBLUE= new Color(5){ //这边我们使用匿名类,并用有参构造器
@Override
public Color nextColor() {
// TODO Auto-generated method stub
return RED;
}
};
public abstract Color nextColor();
复制代码
new Runnable(){
public void run(){}};像这样的写法就是新建一个实现了Runnable接口的子类对象.如果这个Runnable有有参构造器,还是可以在括号里传值的.
这个看懂了之后再去看你上面的代码,其实就是一件事了,只不过枚举里的成员帮我们封装一下,先理解下上面的例子再看看你的代码,自己理解一下,不懂再看视频