Java Enum

来源:互联网 发布:bootstrap和vue.js对比 编辑:程序博客网 时间:2024/05/29 10:10

原文地址:http://pf-miles.iteye.com/blog/187155

  • 如下是Enum的多态性的体现
    public enum Fruit {    APPLE {        public void test() {            System.out.println("I am an apple.");        }    },    PEAR {        public void test() {            System.out.println("I am a pear.");        }    },    PEACH {        public void test() {            System.out.println("I am a peach.");        }    },    ORANGE;    public void test() {        System.out.println("I am a fruit.");    }}
  • 其中,只有Orange没有Overide test()方法;我们在主函数中调用它们:
    public static void main(String[] args) {        Fruit.APPLE.test();        Fruit.PEAR.test();        Fruit.PEACH.test();        Fruit.ORANGE.test();    }
  • 输出结果:
    I am an apple.I am a pear.I am a peach.I am a fruit.
  • 他的作用如下了:
    我们或许可以利用这一点来改造Strategy模式,传统的Strategy会产生出稍微多一些的父类、子类,而如果用Enum的话,“一个类”(对程序作者来讲)就能搞定,能简化一下类层次,再说了,用枚举来表示区分各种不同策略也是很合情理的,所以,Java Enum的这点小小特性感觉还是比较有前途发挥一些作用的,起码在代码组织上;
    更多应用可能或是局限性就还需要逐步在实际应用中摸索。
原创粉丝点击