package com.heima.enums;
public class Week01 {
public static final Week01 MON = new Week01();
public static final Week01 TUE = new Week01();
public static final Week01 WED = new Week01();
//私有构造,不让其他类创建本类对象
private Week01() {
}
}
========================================================
package com.heima.enums;
public class Week02 {
public static final Week02 MON = new Week02("星期一");
public static final Week02 TUE = new Week02("星期二");
public static final Week02 WED = new Week02("星期三");
private String name;
private Week02(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
========================================================
package com.heima.enums;
public abstract class Week03 {
// 父类引用指向子类对象,匿名内部类
public static final Week03 MON = new Week03("星期一") {
public void show() {
System.out.println("星期一");
}
};
public static final Week03 TUE = new Week03("星期二") {
public void show() {
System.out.println("星期二");
}
};
public static final Week03 WED = new Week03("星期三") {
public void show() {
System.out.println("星期三");
}
};
private String name;
private Week03(String name) {
this.name = name;
}
public String getName() {
return name;
}
public abstract void show();
}
========================================================
package com.heima.enums;
public class Demo01_Enum {
public static void main(String[] args) {
Week01 MON = Week01.MON;
System.out.println(MON);
Week02 TUE = Week02.TUE;
System.out.println(TUE.getName());
Week03 WED = Week03.WED;
WED.show();
}
}