如果我有一个Enum
作为Java类中的帮助器,有什么方法可以在类之外引用该Enum
有帮助吗?
基本上,我所拥有的是:
class Account extends MyClass {
HashMap<Property, String> property = new HashMap<Property, String>();
public Account() {
}
public enum Property {
USERID,
PASSWORD;
}
}
我希望能够访问 Account
类之外的 Property
枚举。
我想要这样做的原因是因为这是另一个的子类,并且我希望能够访问给定子类的属性,而无需引用唯一的枚举名称(即:而不将每一个都称为 AccountProperty
或 ResearchProperty
或 TaskProperty
等)。
最佳答案
您的枚举是公共(public)的,因此您可以使用 Account.Property
从 Account
类外部访问它
编辑:
如果我得到了你需要的东西,你会想做类似的事情
Property p = Account.Property.PASSWORD;
Property p1 = Product.Property.CODE;
产品在哪里
public class Product extends MyClass{
HashMap<Account.Property, String> property = new HashMap<>();
public Product() {
}
public static enum Property {
CODE,
PRICE;
}
}
并且您想在 MyClass
中执行此操作。
问题是这两行都需要导入,并且不能导入两个同名的类,所以唯一的解决方案是这样做
Account.Property p = Account.Property.PASSWORD;
Product.Property p1 = Product.Property.CODE;
我猜您必须处理 instanceof
才能为每个类使用正确的 Property
枚举,因为无法扩展枚举!
关于java - 类中的枚举助手 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10666881/