[Java核心技术]五-继承(枚举类)

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赋值"星期一".

抽象类

  • 抽象类和抽象方法用abstract关键字修饰。
  • 抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口。
    • 一个抽象类如果没有抽象方法,是可以定义为抽象类的,这么做的目的只有一个,就是不让其他类创建本类对象,交给子类完成。
  • 抽象类不能实例化。
  • 抽象类的子类:要么是抽象类,要么重写抽象类中的所有抽象方法。
原文地址:https://www.cnblogs.com/coding-gaga/p/11723232.html