在枚举常用的几种方式中,枚举嵌套枚举,接口中引用枚举外还有几种方式
- 枚举中中使用静态类,可以作为枚举项
- 枚举中使用使用静态方法
- 枚举中定义抽象方法,在枚举项中实现
enum2("002"){
@Override
public String test(String name){
A2 a2 = new A2();
a2.exe(name);
return "外部实现抽象类";
}
}
;
public abstract String test(String name);
- 枚举中实现接口,在枚举项中实现,也可以写一个接口的实现方法
public enum EnumTest2 implements Test {
tes("xiaohei"){
@Override
public void exe() {
System.out.println("我是接口实现类2"+getName());
}
},
tes2("xiaohe")
;
private String name;
@Override
public void exe() {
System.out.println("我是接口实现类1"+name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
EnumTest2(String name) {
this.name = name;
}
}
- 使用函数式接口作为枚举项
public enum EnumTest3 {
fun1( x->{return x+"我是函数式接口实现类";})
;
Funct tes;
EnumTest3(Funct tes) {
this.tes = tes;
}
public Funct getTes() {
return tes;
}
public void setTes(Funct tes) {
this.tes = tes;
}
}