DESKTOP-7O1P1F7_20200903-齐元朝
问题
能不能把枚举类作为内部类封装到一个类中?
public class InnerEnum {
enum Family{
FATHER("爸爸",45),
MOTHER("爸爸",48);
private String called;
private int age;
private Family(String called , int age) {
this.called=called;
this.age=age;
}
public static Family getInstance(char gender) {
switch(gender){
case '男':
return FATHER;
case '女':
return MOTHER;
default :
return null;
}
}
}
}
代码证明是可以的,那么,如何调用这个内部类
package qi.yuanchao.inner_enum;
public class InnerEnumTest {
public static void main(String[] args) {
InnerEnum ie = new InnerEnum();
InnerEnum.Family Dad = InnerEnum.Family.getInstance('男');
System.out.println(Dad);
}
}
这个问题有点无聊,代码能正常运行,就放自己一马吧
问题2
枚举类是在类体第一行,即第一个分号前声明并创建好所以常量,之后不能再创建实例
那么,枚举类应该是用所谓的 饿汉模式 来实现的
懒汉模式是在后面的静态工厂方法中创建实例,不符合枚举类的规则
近期评论