這篇文章主要介紹了java反射機(jī)制是什么,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)與策劃設(shè)計(jì),繁峙網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:繁峙等地區(qū)。繁峙做網(wǎng)站價(jià)格咨詢:18980820575
Java的特點(diǎn)有哪些 1.Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 2.Java具有簡(jiǎn)單性、面向?qū)ο?、分布式、安全性、平臺(tái)獨(dú)立與可移植性、動(dòng)態(tài)性等特點(diǎn)。 3.使用Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
1.反射機(jī)制定義
java反射機(jī)制是在運(yùn)行狀態(tài)中,獲取任意一個(gè)類的結(jié)構(gòu) , 創(chuàng)建對(duì)象 , 得到方法,執(zhí)行方法 , 屬性 ; 這種在運(yùn)行狀態(tài)動(dòng)態(tài)獲取信息以及動(dòng)態(tài)調(diào)用對(duì)象方法的功能被稱為java語(yǔ)言的反射機(jī)制。
2.反射機(jī)制的運(yùn)行過(guò)程
Java程序在運(yùn)行時(shí),Java運(yùn)行時(shí)系統(tǒng)一直對(duì)所有的對(duì)象進(jìn)行所謂的運(yùn)行時(shí)類型標(biāo)識(shí)。這項(xiàng)信息紀(jì)錄了每個(gè)對(duì)象所屬的類。虛擬機(jī)通常使用運(yùn)行時(shí)類型信息選準(zhǔn)正確方法去執(zhí)行,用來(lái)保存這些類型信息的類是Class類。
3.獲取 Class 對(duì)象有三種方式
// 1.通過(guò)字符串獲取Class對(duì)象,這個(gè)字符串必須帶上完整路徑名 Class studentClass = Class.forName("com.test.reflection.Student"); // 2.通過(guò)類的class屬性 Class studentClass2 = Student.class; // 3.通過(guò)對(duì)象的getClass()函數(shù) Student studentObject = new Student(); Class studentClass3 = studentObject.getClass();
第一種方法是通過(guò)類的全路徑字符串獲取 Class 對(duì)象,這也是我們平時(shí)最常用的反射獲取 Class 對(duì)象的方法;
第二種方法有限制條件:需要導(dǎo)入類的包;
第三種方法已經(jīng)有了 Student 對(duì)象,不再需要反射。
通過(guò)這三種方式獲取到的 Class 對(duì)象是同一個(gè),也就是說(shuō) Java 運(yùn)行時(shí),每一個(gè)類只會(huì)生成一個(gè) Class 對(duì)象。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“java反射機(jī)制是什么”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!