甲静态内部类可以,而不需要一个被实例化的外类的实例。通常,内部类 是嵌套类的一部分,在Java中称为非静态嵌套类 。内部类的类型为成员内部类,匿名内部类和局部内部类。
我们可以使用InnerClass.class.newInstance()通过反射实例化一个静态内部类。如果我们需要外部类的实例来实例化非静态内部类,则可以在新 运算符之前指定它。
import java.lang.reflect.*;
public class InnerclassWithReflectionTest {
public static void main(String args[]) {
try {
InnerClass inner = (InnerClass) InnerClass.class.newInstance();
inner.test();
} catch(Exception e) {
e.printStackTrace();
}
} // inner class static class InnerClass {
public void test() {
System.out.println("Welcome to nhooo !!!");
}
}
}输出结果
Welcome to nhooo !!!