• java枚举类


    使用enum声明,默认直接继承了java.lang.Enum类,而不是Object类;

    枚举类的对象是固定的,实例个数有限,不可以再new( ),枚举对象后可以跟()。

    枚举元素必须位于枚举类体中的最开始部分,枚举元素后要有分号与其他成员分隔。

    枚举类的构造方法的权限修饰符默认是private;

    一旦枚举对象后面加上{},那么该对象实际是枚举匿名内部类对象;

    所有枚举类都提供一个静态的values()方法(返回该枚举类所有对象组成的数组),便于遍历所有枚举对象;

    所有枚举类都提供一个静态的valueOf(String name)方法, 返回枚举类中对象名等于 name的对象。

     

    Egpublic enum Color{

           RED(), GREEN(){}, BLUE{};

    }

     

     

    package reviewDemo;

    //枚举

    enum Color{

        Green,Blue,Yellow;

       

        @Override

        public String toString() {

            String ret = super.toString();

            switch (this) {

            case Green:

                ret = "绿色";

                break;

               

            case Blue:

                ret = "蓝色";

                break;

               

            case Yellow:

                ret = "黄色";

                break;

            default:

                break;

            }

           

            return ret;

        }

       

    }

    class Personp{

        Color c = Color.Blue;

        void show(){

            System.out.println(c);

        }

    }

    public class Demo18 {

        public static void main(String[] args) {

            Color []color = Color.values();

            for (Color c : color) {

                System.out.println(c);

            }

            new Personp().show();

        }

    }

    输出:

    绿色

    蓝色

    黄色

    蓝色

     

    枚举类覆写接口抽象方法的两种方式:

    在枚举类中实现接口的抽象方法;

    在枚举匿名内部类中实现接口的抽象方法;

     

    interface I{

        void show();

    }

    enum Color implements I{

        RED(){

        public void show(){

            }

        }, GREEN{

        public void show(){

            }

        }, BLUE{

        public void show(){

            }

        };

    }

    enum Color implements I{

        RED(), GREEN, BLUE;

        public void show() {

        }

    }

     

     

     

     

    我的总结:

    枚举不可以new();即便是反射也不可以!

     

     

    备注:一个类如果没有构造方法,那么一定有相对应的某个方法可以获取对象!

     

  • 相关阅读:
    [Dijkstra+堆优化]
    沈阳市 全国 沈阳市社会保险经办机构 信息查询 办保险用
    MS SQL 启用标识插入
    DataGridView导出到Word
    sql生成一个日期表
    精通BIRT:Eclipse商务智能报表工具开发实践指南
    BIRT-商务智能报表工具开发案例指南
    网页状态码
    javascript变量的作用域
    KAL1 LINUX 官方文档之工具---kali工具
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11131702.html
Copyright © 2020-2023  润新知