public final class AllColor {
public static final AllColor RED =
new AllColor("red");
public static final AllColor GREEN =
new AllColor("green");
public static final AllColor YELLOW =
new AllColor("yellow");
private AllColor(String color){
System.out.println(color);
}
public static AllColor[] getAll(){
AllColor[] ac = {RED,GREEN,YELLOW};
return ac;
}
public enum AllColorEnum {
RED,GREEN,YELLOW;
}
小弟初学java,上面的Allcolor类也可以也可以实现AllColorEmun的功能,老师说加上final是为了防止对AllColor中方法的重写。AllColor的构造已经隐藏了,小弟觉得没有必要在加上final了啊,请大侠们解答一下了啊。
public static final AllColor RED =
new AllColor("red");
public static final AllColor GREEN =
new AllColor("green");
public static final AllColor YELLOW =
new AllColor("yellow");
private AllColor(String color){
System.out.println(color);
}
public static AllColor[] getAll(){
AllColor[] ac = {RED,GREEN,YELLOW};
return ac;
}
public enum AllColorEnum {
RED,GREEN,YELLOW;
}
小弟初学java,上面的Allcolor类也可以也可以实现AllColorEmun的功能,老师说加上final是为了防止对AllColor中方法的重写。AllColor的构造已经隐藏了,小弟觉得没有必要在加上final了啊,请大侠们解答一下了啊。
希望大侠们包涵啊
比如不加的话你可以这样
AllColor. RED =AllColor.Green;
那枚举的意义就被破坏了。