【发布时间】:2013-10-22 08:39:51
【问题描述】:
我的界面如下所示:
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();
}
}
我知道 Enums 可以实现接口。如果我要将此接口实现为 Enum,我将不得不像使用 Enum 单例 (DatabaseTableImpl.INSTANCE.getName()) 一样使用它。我可以有一个零元素枚举,以便它可以像只包含静态方法的类一样实现和使用(DatabaseTableImpl.getName())?
【问题讨论】:
-
你尝试的时候发生了什么?您的编译器是此类问题的 100% 可靠答案来源,延迟时间约为 30 秒。相反,在这里询问并不是一个合理的发现程序。
-
如果你想要枚举单例,那么你需要一个元素的枚举,而不是零元素。
-
为什么要将接口写成
enum? -
听起来你太聪明了,没有遵守 KISS 原则。
-
@Julius B.“普通类无法实现静态方法”毫无意义。静态方法不能以需要实现的方式定义,但“普通类”当然可以定义静态方法。你在这里没有多大意义,你仍然在浪费时间而不是咨询你的编译器。