Java:接口是否可以包含在其中定义的常量变量?
是的,你可以:
public interface Constants
{
public static final int ZERO = 0;
}
然而,这是一般估摸不会是一个好主意,这些天。如果接口有一个真正的目的以及,并且这些常量很可能被大多数实现使用,但它引入一个接口只是以便更容易获得常量是一种滥用接口的目的,真的。 (这是以前发生的事情。)
那么解决方案是什么?定义另一个类来定义这些常量? – kiki 2010-10-25 06:01:27
@kiki:这取决于情况。有时枚举工作得很好,而不是常量。有时让他们进入自然界的界面就像其他任何东西一样干净。有时候只是让他们最强烈地关注与他们有关的班级。有时创建一个新班级。 – 2010-10-25 06:02:51
如果您仅实现接口以避免将接口名称加上前缀。 – 2010-10-25 06:03:35
是的,你可以在接口中保持常量。顺便说一句,它被认为不是很好的做法。
当然,public
常量可以在接口中声明。但是,有一件事,如果你的接口只是常量的占位符,可以用enum
代替
这不是简单的*尝试*?你确实有一个工作的编译器,对吧? – 2010-10-25 06:01:28
我很抱歉,我必须改述。我已经尝试过,它的工作原理。但我更想知道这是否是一种好的做法。 – kiki 2010-10-25 06:03:07
可能重复的[应该将一个常量集合放在一个类或接口?](http://*.com/questions/1372991/should-a-collection-of-constants-be-placed-in-a-类或接口) – 2010-10-25 06:05:19