lis*_*isa 2 java enums inner-classes
我想知道我如何访问一个内部类,它在一个枚举中.
例:
public enum myEnum{
public class myInnerClass{
public void aMethod(){
//do somethink.....
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何在另一个类中访问此类(访问它的方法)?
谢谢你的帮助 :)
您可以enum使用它的实例访问内部类,该实例由枚举字段定义:
public enum MyEnum{
INSTANCE_A,
INSTANCE_B;
public class MyInnerClass {
// This is no different from the inner class in a normal class
public String show() {
// You can get the name of the instance for which this method was called.
System.out.println(MyEnum.this.name());
return "Hello";
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,要创建一个实例MyInnerClass,您可以:
MyEnum instanceA = MyEnum.INSTANCE_A;
MyEnum.MyInnerClass myInnerInstance = instanceA.new MyInnerClass();
System.out.println(myInnerInstance.show());
Run Code Online (Sandbox Code Playgroud)
输出:
INSTANCE_A // For MyEnum.this.name()
Hello
Run Code Online (Sandbox Code Playgroud)
这种方式与内部类的方式类似,内部类位于普通类中.没有区别.
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |