Product.java
public interface Product {
/**
* use this interface for creating your own enumerate of products
*/
public static interface Category {
enum MyCategory {vegetable, fruit, chocolate}; // i create my own enumerate
}
}
在我的MyProduct.java中我需要实现getCategory()方法
public class MyProduct implements Product {
@Override
public Category getCategory() {
// ???
}
}
但我不知道如何从接口类别访问枚举,仍然返回类别的变量。请你帮我。 很抱歉我的问题描述不好,但我希望你明白我的需要:)
答案 0 :(得分:4)
枚举的全名是Product.Category.MyCategory
(如果有的话,以包名为前缀)。在Product
内,您可以将其写为Category.MyCategory
。
答案 1 :(得分:0)
如果我正确理解了您的问题,您希望将枚举作为接口返回。
枚举可以实现接口,因此MyCategory
可以实现Category
public interface Product {
/**
* use this interface for creating your own enumerate of products
*/
public static interface Category {
enum MyCategory implements Category {
vegetable, fruit, chocolate
}; // i create my own enumerate
}
Category getCategory();
}
所以你的产品类可以做到
public class MyProduct implements Product {
@Override
public Category getCategory() {
return Product.Category.MyCategory.chocolate;
}
}