初始化接口中常量的java条件
我有一个接口,其中定义了应用程序中使用的常量。我有一个场景,需要根据条件初始化常量
比如说
if(condition){
public static final test = "some value";
}
这可能吗
你可以在下面搜索框中键入要查询的问题!
我有一个接口,其中定义了应用程序中使用的常量。我有一个场景,需要根据条件初始化常量
比如说
if(condition){
public static final test = "some value";
}
这可能吗
# 1 楼答案
Interface
不包含任何代码将接口拆分为多个特定接口,声明并初始化它们自己的常量
这将遵循
Interface Segregation Principle
,在这个过程中,类不必对一些无用的常量或方法感到厌烦当然,Java允许类同时实现多个接口。所以,如果你有特定的接口来混合一个具体的类,这将是非常容易的
# 2 楼答案
您可以通过以下方式设置带条件的静态最终变量:
您可以在一行中完成,也可以在以下界面中完成:
# 3 楼答案
接口将被实现。它们不应用作常数的载体。如果你需要这样的东西,你可以考虑一个带有私有构造函数的最终类。p>
您似乎想要的是一个全局变量或单例,它们是相当有问题的设计,或者类似于c预处理器指令的东西,在编译时动态地进行评估
请考虑它是否是一个真正需要的常数——在编译(或类加载)时间定义的东西。p>
# 4 楼答案
# 5 楼答案
这可能是界面常数不好的另一个原因。你可以像下面那样简单地使用
enums