Java - 使用反射获取对静态类的引用

And*_*dez 8 java reflection static class

在Java中,是否可以使用反射访问静态类(嵌套)的实例?

假设我在Package1.SubPackage.SubSubPackage包中定义了以下2个类:

public class MyMainClass {  
   public static class SalesObjectGrouper1 {  
      public static final GrouperContext CONTEXT = new GrouperContext("MyDate");  
   }  

   private static class SalesObjectGrouper2 {  
      public static final GrouperContext CONTEXT = new GrouperContext("MyDate");  
   }  
}  
Run Code Online (Sandbox Code Playgroud)

如果我运行以下代码:

try {
     xyz = Class.forName( "Package1.SubPackage.SubSubPackage.MyMainClass.SalesObjectGrouper1" );
} catch( ClassNotFoundException ex ) {
     // always hit the error
}
Run Code Online (Sandbox Code Playgroud)

它会出现错误,表明找不到类.可以这样做吗?

Jim*_*son 18

您是否尝试过将嵌套类称为

MyMainClass$SalesObjectGrouper1
Run Code Online (Sandbox Code Playgroud)

嵌套类在内部命名为ContainingClassName $ NestedClassName