Java反射之内部类

http://www.cnblogs.com/frydsh/archive/2012/12/24/2831690.html


在Java中,使用反射的方法加载类的具体代码是:

Class<?> cls = Class.forName("package.ClassName");

      但是,如果需要加载的是一个内部类的话,如果我们使用这种加载方式,会抛出异常:

// 如果使用这样的代码,会抛出ClassNotFoundException
Class<?> cls = Class.forName("package.ClassName.InnerClass");

      对于内部类,我们需要像下面这样写代码:

Class<?> cls = Class.forName("package.ClassName$InnerClass");

****因为内部类编译后是形如ClassName$InnerClass.class的独立文件****
发布了14 篇原创文章 · 获赞 26 · 访问量 18万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章