我知道将常量放在接口(interface)中通常被认为是不好的做法,但是...
我正在使用观察者模式将事件从对象广播到监听器。
interface DownloadListener
{
public void sendEvent(int eventId);
}
广播者使用常量整数来告诉听者哪个事件发生了。
class DownloadTask
{
public static final int EVENT_DOWNLOAD_STARTED = 1;
public static final int EVENT_DOWNLOAD_COMPLETED = 2; //should these go here?
DownloadTask(DownloadListener listener)
{
listener.sendEvent(EVENT_DOWNLOAD_STARTED);
}
}
将常量放在接口(interface)内会更好吗?我的想法是,接口(interface)是广播公司和听众之间的契约(Contract),因此它应该包含该契约(Contract)的细节(常量)。
我正在为移动设备 (Java 1.3) 开发,所以很遗憾不能使用枚举类型。
最佳答案
接口(interface)描述服务,所以如果常量是服务描述或定义的一部分,它应该放在接口(interface)中,这样接口(interface)的每个实现都可以重用它们。在您的情况下,例如常量应该转到接口(interface)
关于java - 常量应该放在接口(interface)中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8424423/