Java枚举

1、枚举不能继承任何类,因为编译时会隐式继承Enum类。

2、编译器最终将enum处理为一个final class,枚举无法被继承。

3、编译器会默认生成valutOf()方法和values()方法,你可以直接使用。

4、枚举进阶使用时可以定义多个字段,需要定义带参构造函数,无参构造定义与否取决于是否使用,这点和class一致。

一个最简单的枚举类

public enum Company{
    Apple,
    Tesla
}
public class X {
    public static void main(String[] args) {
        Company c1 = Company.Apple;
        Company c2 = Company.valueOf("Apple");
        Company[] companies = Company.values();
        System.out.println(c2);
        System.out.println(Arrays.toString(companies));
    }
}

 Apple
[Apple, Tesla]

public enum Company{
    Apple,
    Tesla;

    private String desc;
    
    private Company(){
    }
    
    private Company(String desc){
        this.desc = desc;
    }

}

 

你可能感兴趣的:(Java)