Posted on 2009-04-17 19:42
Prayer 閱讀(1596)
評(píng)論(1) 編輯 收藏 引用 所屬分類:
面向?qū)ο?/a>
前幾天朋友問一個(gè)問題Class.class.getClass(),只知道是java的反射機(jī)制。具體講不清楚,上網(wǎng)查了一下與大家共享:
Class與class都繼承自O(shè)bject,class實(shí)體來代表java運(yùn)行時(shí)的class和interface等等,
Class.class就是得到或者生成這個(gè)Class類的Class Object;
而.getClass()本就是返回一個(gè)類對(duì)應(yīng)的Class Object ,
所以Class.class.getClass()最后還是返回Class Object
總結(jié)如下(轉(zhuǎn)):
Class類是為了保存JAVA虛擬機(jī)運(yùn)行時(shí)(RTTI)對(duì)所有對(duì)象進(jìn)行類型識(shí)別的信息而設(shè)立的.
當(dāng)然Class也是繼承自O(shè)bject類的,每個(gè)類都有Class對(duì)象,想得到一個(gè)類的Class對(duì)象共有三種方法.
1:調(diào)用getClass()
Employee emp;
Class cls=emp.getClass();
2:靜態(tài)方法forName(String )
String className="Employee";
Class cls=Class.forName(className);
3:class成員變量法
Class cls=Employee.class;
Class.class.getClass()的意思應(yīng)該很清楚了
Class.class返回一個(gè)Class類的Class對(duì)象,
在調(diào)用getClass()又一次返回Class的對(duì)象。