enum搞定了

一直觉得这个很恶心 和注解一样
完全不符合类的规范 用起来就稀里糊涂的
其实改变思维就好了,取出来的时候当作一个静态变量就好很多

难理解的点就是就是生成的时候,apple不需要""
可以这么想 一般是Fruit apple = new Fruit(a,b,c) 这里不过是变成 apple(a,b,c) 还简洁了

两点

  1. 属性是暴露的,私有没用,所以更不需要get方法
  2. 可以有方法,具体对象甚至支持重写
  3. 需要有构造方法
class Test1{
    public static void main(String[] args) {
        Fruit.cce.say();
    }

    enum Fruit{
        //这里相当于新建一个对象 读一份
        //并且是在类内部生成 
        //不然就很难理解 就直接当成
        apple("越南"),banana("老挝"),coconut("泰国"),
        cce("china"){
            @Override
            public void say(){
                System.out.println("我嫩爹男人就该干男人");
            }
        };
        //即使是私有 也可以访问
        private String chandi;

        Fruit(String chandi) {
            this.chandi = chandi;
        }
        //重写方法  怎么重写方法
        public void say(){
            System.out.println("吃个桃桃有点凉凉");
    }
}

输出我嫩爹

原文地址:https://www.cnblogs.com/purexww/p/15267024.html