小工具知识网

当前位置: 首页 > 行业知识 > 枚举 --java学习笔记

行业知识

枚举 --java学习笔记

2026-11-10 23:53:26 来源:互联网转载

什么是枚举

���举是一种特殊类

格式:

修饰符 enum 枚举类名{

        名称1,名称2,...;        //枚举类的第一行必须罗列的是枚举对象的名字

        其他成员...

}

  • 枚举类的第一行只能罗列一些名称,这些名称都是常量,并且每个常量记住的都是枚举类的一个对象
  • 枚举类的构造器都是私有的(写不写都只能是私有的),因此,枚举类对外不能创建对象
  • 枚举都是最终类,不可以被继承
  • 枚举类中,从第二行开始,可以定义类的其他各种成员
  • 编译器为枚举类新增了几个方法,并且枚举类都是继承:java.lang.Enum类的,从enum类也会继承到一些方法
  • 枚举的应用场景:做信息标志和分类

    例:

    public enum A {    A,B,C;  //罗列枚举对象的名字    private String name;    public void setName(String name) {        this.name = name;    }    public void Myname(){        System.out.println(this.name);    }}
    public class Test {    public static void main(String[] args) {        A a = A.B;  //枚举类对象创建,使用罗列的枚举对象名字        a.setName("小明");    //类方法正常使用        a.Myname();        //编译器为枚举类新增的和从enum类继承到的一些方法        A[] as = A.values();    //拿到全部对象        A a2 = A.valueOf("C");  //根据名字拿到对象        System.out.println(a2.name());   //拿到对象名字 C        System.out.println(a2.ordinal());   //拿到对象索引 2,也就是罗列名字时的顺序,从0开始    }}

     

    抽象枚举

    也就是带有抽象方法的枚举类,需要在罗列对象名字时实现该抽象方法

    例:

    public enum B { //抽象枚举    X{        @Override   //实现抽象方法        public void say() {        }    }    ,Y("小明"){   //通过有参构造器赋初值        @Override        public void say() {            System.out.println("我是"+getName());        }    };    private String name;    B() {    }    B(String name) {        this.name = name;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public abstract void say(); //抽象方法}
    public class Test2 {    public static void main(String[] args) {        B b = B.Y;        b.say();    }}

     

上一篇:芒果应用下载攻略,一键获取下载链接,轻松上手!

下一篇:组装服务器怎么用?