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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章