JAVA枚举类型学习心得

1.枚举类型的声明用emun关键字

2.没去类型可以定义一个枚举类型的文件也可以放在class类下面,1是枚举类2是定义在class类的枚举变量

     1.public enum Action {

              TRUE_LEFT,
              TRUE_RIGHT,
              SHOOT
          }

      2.private enum InnetEnum{TRUE_LEFT,TRUE_RIGHT,SHOOT}

JAVA枚举类型就是为了更好的管理常量,当我们没有用枚举的时候声明声明的常量放在一个借口来进行管理然后,这样的出错例如:

public interface ActionConstants {

 public static final int TURN_LEFT=1;
 public static final int TURN_TIGHT=2;
 public static final int SHOT=3;
 
}

下面是一个调用类

public static void main(String[] ages) {

  doAtion(ActionConstants.TURN_LEFT);

 }

 /**
  * @param action
  */
 public static void doAtion(int action) {
  switch (action) {
  case ActionConstants.TURN_LEFT:
   System.out.println("向左转");
   break;
  case ActionConstants.TURN_TIGHT:
   System.out.println("向右转");
   break;
  case ActionConstants.SHOT:
   System.out.println("射击");
   break;
  }
 }

注意在调用类里面doAction()的参数只是一个int类型的变量这样我们传入的可以使任意的int类型这样很不安全

看看下面采用枚举类型的例子解决这一点

public enum Action {

 TRUE_LEFT,
 TRUE_RIGHT,
 SHOOT
}

下面是枚举类型的调用类

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  doAction(Action.TRUE_LEFT);
  
  for(Action action:Action.values()){
   System.out.println(action.toString());
  }

 }

 /**
  * 枚举类型的好处是doAtion的参数是Action类型的
  * 而AtionMethod类的doAtion的参数是int类型的这样别人可以输入任意int类型的数据
  * @param action
  */
 public static void doAction(Action action) {
  switch (action) {
  case TRUE_LEFT:
   System.out.println("向左转");
   break;
  case TRUE_RIGHT:
   System.out.println("向右转");
   break;
  case SHOOT:
   System.out.println("射击");
   break;
  }
 }

这里的doAction里面的参数是Action类型的我们必须调用Action里面的声明的常量,这样比起上面安全很多

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值