打字猴:1.700481651e+09
1700481651 }
1700481652
1700481653 }
1700481654
1700481655 为什么要用枚举类型?用一个接口来管理也是很容易实现的。注意CommandEnum中的构造函数CommandEnum(String value)和getValue类,没有新建一个Enum对象,但是可以直接使用CommandEnum.ls.getValue方法获得值,这就是Enum类型的独特地方。再看下面:
1700481656
1700481657 ls(“com.cbf4life.common.command.LSCommand”);
1700481658
1700481659 是不是很特别?是的,枚举的基本功能就是定义默认可选值,但是Java中的枚举功能又增强了很多,可以添加方法和属性,基本上就是一个特殊的类。若要详细了解Enum,读者可以翻阅一下相关语法书。
1700481660
1700481661 现在剩下的工作就是写一个Client类,然后看看运行情况如何,如代码清单34-13所示。
1700481662
1700481663 代码清单34-13 场景类
1700481664
1700481665 public class Client{
1700481666
1700481667 public static void main(String[]args)throws IOException{
1700481668
1700481669 Invoker invoker=new Invoker();
1700481670
1700481671 while(true){
1700481672
1700481673 //UNIX下的默认提示符号
1700481674
1700481675 System.out.print(”#”);
1700481676
1700481677 //捕获输出
1700481678
1700481679 String input=(new BufferedReader(new InputStreamReader
1700481680
1700481681 (System.in))).readLine();
1700481682
1700481683 //输入quit或exit则退出
1700481684
1700481685 if(input.equals(“quit”)||input.equals(“exit”)){
1700481686
1700481687 return;
1700481688
1700481689 }
1700481690
1700481691 System.out.println(invoker.exec(input));
1700481692
1700481693 }
1700481694
1700481695 }
1700481696
1700481697 }
1700481698
1700481699 Client也很简单,通过一个while循环允许使用者持续输入,然后打印出返回值,运行结果如下:
1700481700
[ 上一页 ]  [ :1.700481651e+09 ]  [ 下一页 ]