技术开发 频道

JAVA经典:Java的枚举可以实现接口

  然后注释掉我们前面提到的 name() 方法:

public interface MappingEnum {
public String getType();
public boolean isKey();
public boolean isNullable();
public String name();
}

  最后我们编写一个 dbTableCreate() 方法来让其他的枚举类型可重用这个方法:

dbTableCreate("tableName", PersonMapping.values()));

  完整的方法:

public String dbTableCreate(String tableName, MappingEnum[] values) {
StringBuilder builder
= new StringBuilder("Create table ");
builder.append(tableName);
builder.append(
"(");
for (MappingEnum column : values) {
builder.append(column.name());
builder.append(
" ");
builder.append(column.getType());
builder.append(column.isKey()
? " primary key" : "");
builder.append(
", ");
}
builder
= new StringBuilder(builder.substring(0, builder.length() - 2));
builder.append(
");");
return builder.toString();
}

  讲解就到此结束,我们得出了一些结论:

  枚举类型可以存储附加的数据和方法

  枚举类型可通过接口来定义行为

  枚举类型的项行为可通过接口来访问,跟正常的 Java 类无异

  values() 方法可用来返回接口中的一个数组

  总而言之,你可以像使用普通 Java 类一样来使用枚举类型。

0
相关文章