[英]How can I use composition of the classes if they have common fields in java?
[英]How can I have a constant variable common to all classes in a package?
我希望一个常量变量对于包中的所有类是通用的。 有没有办法我可以做到这一点,而不是只使用其中的一个定义接口,并使每个类实现它?
在Java中,所有常量都必须驻留在类型(类或接口)中。 但是您不必实现接口来使用在内部声明的常量。
你可以尝试在你的包中加入这样的东西:
interface Constants {
static final String CONSTANT = "CONTANT";
}
然后,像这样使用它:
String myVar = Constants.CONSTANT;
这样,你仍然有你的界面,但没有类实现它。
通常,应用程序具有“常量”类或包含所有常量的接口。
我通常将常量分组为逻辑类。 例如,如果有两种员工,常规和合同:
class EmployeeType
{
public static final String REGULAR = "regular";
public static final String CONTRACT = "contract";
}
并将其用作EmployeeType.REGULAR
如果常量不能以这种方式分组,请使用单独的类/接口来保存它们。
class Constants
{
public static final String APPLICATION_DOMAIN = 'domain';
}
您无需扩展/实现此类接口即可使用这些值。 常量通常被声明为public static final
,您可以直接访问它们: Constants.APPLICATION_DOMAIN
使用包私有类:
class Constants{
public static final int MY_VALUE = 1234;
}
这只能通过同一个包中的类访问:
int val = Constants.MY_VALUE;
您可以通过各种方式执行此操作:
public static final
属性 =
运算符分隔)。 这是一个关于如何创建和使用属性文件的教程 。 似乎是一个很好的候选人在我的财产文件中输入。
您可以使用抽象类作为该包中每个impl的基类。
你可以用这个变量创建一个特殊的(静态)类。 稍后您可以添加其他常量或您需要的任何类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.