关于枚举类的反思

  1.5以后的一个新特性就是枚举,在进入CSDN前的这么久我都一直用的是1.4风格的代码风格,原来自己落后这么多年了.
  后来火龙果问了一个问题,问题是这样的.
  要求一个方法只能传入1-10的作为参数,不然的话,就会报错,不过不能是运行时报错,应该是编译报错.
  当时不是很明白,后来在看Thinking in java 的过程中,看到了这样的一个类,才恍然大悟.
   我们就来看下这个类吧
class  Meal
{
    
private int i;
    
private Meal(int newi)
    
{
        i
=newi;
    }

    
public int getI()
    
{
        
return i;
    }

    
public final Meal stweet=new Meal(1);
    
public final Meal meet=new Meal(2);
    }

public   class  Eat 
{
public void Toeat(Meal meal)
{
    System.out.println(meal.getI());
}

}
  虽然这两个类是太过粗鄙了,但是已经能够说明问题了,因为这个方法只能接受 Meal参数,但是Meal参数是不可构造的,所以我们能传的Meal参数,只有值为1或者2的Meal对象.
  要满足1-10,只要扩展一下就可以了.然后我就想到了,原来这个方法其实是参考的singleton模式,只是做了一个数量上的扩展罢了
  这个简单的类也就是枚举最初的原型了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值