Java 是否可以使用零元素的枚举
我有一个如下所示的界面:Java 是否可以使用零元素的枚举,java,enums,Java,Enums,我有一个如下所示的界面: public interface DatabaseTable { public void onDatabaseCreate(SQLiteDatabase database); public void onDatabaseUpgrade(SQLiteDatabase database, int oldVersion, int newVersion); public String getName(); public Column[]
public interface DatabaseTable {
public void onDatabaseCreate(SQLiteDatabase database);
public void onDatabaseUpgrade(SQLiteDatabase database, int oldVersion, int newVersion);
public String getName();
public Column[] getColumns();
public int insert(SQLiteDatabase database, ContentValues values);
public int delete(SQLiteDatabase database, String selection, String[] selectionArgs);
public static interface Column {
public String getName();
public String getType();
}
}
我知道枚举可以实现接口。如果要将此接口实现为Enum,则必须像使用Enum singleton一样使用它(DatabaseTableImpl.INSTANCE.getName()
)。我是否可以拥有一个零元素枚举,以便它可以像只包含静态方法的类一样实现和使用(DatabaseTableImpl.getName()
)
是否可以使用零元素的枚举
对。你可以自己试试,而不是浪费时间在这里问
如果我要将此接口实现为Enum
你不能。类不能既是接口又是枚举。
这个问题和上一个问题之间的关系我想不通
我必须像使用枚举单例一样使用它
这对我来说毫无意义
我可以有一个零元素枚举,这样它就可以像只包含静态方法的类一样实现和使用吗
再说一次,为什么不试试呢?我并不知道它将如何解决您的实际问题,不管是什么。您尝试它时发生了什么?您的编译器是此类问题答案的100%可靠来源,延迟约30秒。在这里询问并不是一个真正的理性发现过程。如果你想要enum singleton,那么你需要一个元素enum,不是零元素。为什么要将接口编写为
enum
?我觉得你太聪明了,没有注意到KISS原则。@Julius B.“普通类不能实现静态方法”毫无意义。静态方法不能以需要实现的方式定义,但“普通类”肯定可以定义静态方法。你在这里没有什么意义,你仍然在浪费时间而不是咨询你的编译器。