Java枚举类型(enum)
- 枚举类型都是继承了Enum类(是一个抽象类)的一个类,我们可以向enum类中添加方法和变量等。编译再反编译可以看到枚举类型对应的类的内容。
- 每个枚举常量都对应一个Enum类的实例。
- 例子
public enum Day2 { MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY("星期三"), THURSDAY("星期四"), FRIDAY("星期五"), SATURDAY("星期六"), SUNDAY("星期日");//逗号分隔,分号结束 private String desc; /** * 私有构造,防止被外部调用 * @param desc */ private Day2(String desc){ this.desc=desc; } public String getDesc(){ return desc; } }
我们所写的构造函数只能被编译器调用,事实上,MONDAY("星期一")
表明了会调用构造函数
private Day2(String desc){ this.desc=desc; }
并为实例MONDAY的属性desc赋值"星期一".
- 很好的参考文章,可以仔细阅读:https://www.cnblogs.com/alter888/p/9163612.html
抽象类
- 抽象类和抽象方法用abstract关键字修饰。
- 抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口。
- 一个抽象类如果没有抽象方法,是可以定义为抽象类的,这么做的目的只有一个,就是不让其他类创建本类对象,交给子类完成。
- 抽象类不能实例化。
- 抽象类的子类:要么是抽象类,要么重写抽象类中的所有抽象方法。