作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
super 接口(interface)定义:
package mypackage1;
public Interface MySuperInterface{
public enum MY_APPLICATION_SPECIFIC_ENUM{
APP_CONS1 ,
APP_CONS2
};
}
子接口(interface)定义:
package mypackage2;
public Interface MySubInterface extends My SuperInterface{
/* sub interface members */
}
使用子接口(interface)的演示类:
package mypackage3;
import mypackage2.MySubInterface.MY_APPLICATION_SPECIFIC_ENUM;
class MyDemoClass{
MY_APPLICATION_SPECIFIC_ENUM myAppEnum = MY_APPLICATION_SPECIFIC_ENUM.APP_CONS1;
}
它给出了编译错误:
import requires canonical name for mypackage2.MySubInterface.MY_APPLICATION_SPECIFIC_ENUM
请问如何通过子接口(interface)导入父接口(interface)的枚举类。
最佳答案
您可以进行静态导入以直接访问您的枚举值:
import static mypackage2.MySubInterface.MY_APPLICATION_SPECIFIC_ENUM.*;
然后,您将能够在进行导入的类/接口(interface)中直接使用枚举的值。
另一种方法是:
import mypackage2;
...
// Use of the interface's enum by it's real name
MySubInterface.MY_APPLICATION_SPECIFIC_ENUM myMethod(Object anyParam);
关于java - 如何从 super 接口(interface)导入内部枚举类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19688320/
我是一名优秀的程序员,十分优秀!