Class类 获取Class对象
生活随笔
收集整理的這篇文章主要介紹了
Class类 获取Class对象
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
閱讀API的Class類得知,Class?沒有公共構(gòu)造方法。Class?對象是在加載類時由?Java?虛擬機以及通過調(diào)用類加載器中的?defineClass?方法自動構(gòu)造的
獲取Class對象的三種方式(實例采用Person類)
?
方式1:通過Object類的getObject()方法
?
Person p = new Person(); Class c = p.getClass();?
方式2:?通過?類名.class?獲取到字節(jié)碼文件對象(任意數(shù)據(jù)類型都具備一個class靜態(tài)屬性,看上去要比第一種方式簡單)。
Class c2 = Person.class;
方式3:?通過Class類中的方法(將類名作為字符串傳遞給Class類中的靜態(tài)方法forName即可)。
Class c3 = Class.forName("Person");
?
l?注意:第三種和前兩種的區(qū)別
前兩種你必須明確Person類型.
后面是指定這種類型的字符串就行.這種擴展更強.我不需要知道類名.我只提供字符串,按照配置文件加載就可以了
?
代碼演示:
public class ReflectDemo {public static void main(String[] args) throws ClassNotFoundException {//通過Object類的getObject()方法 Person p = new Person();Class c1 = p.getClass();System.out.println(c1);//類名.class 獲取到字節(jié)碼文件對象Class c2 =Person.class;System.out.println(c2);//通過Class類中的方法forName()Class c3 = Class.forName("cn.shiqi.demo1.Person");System.out.println(c3);} }class Person{}
? ? ? ? ? ? ? ? ? ? ? ? ?
轉(zhuǎn)載于:https://www.cnblogs.com/17sui/p/7442358.html
總結(jié)
以上是生活随笔為你收集整理的Class类 获取Class对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OVS中arp响应的流表的实现
- 下一篇: STL sort解析