Java 反射機(jī)制介紹
目前累計(jì)服務(wù)客戶上千,積累了豐富的產(chǎn)品開發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹立企業(yè)形象,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。成都創(chuàng)新互聯(lián)公司始終以務(wù)實(shí)、誠信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過對領(lǐng)先技術(shù)的掌握、對創(chuàng)意設(shè)計(jì)的研究、對客戶形象的視覺傳遞、對應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。Java 反射機(jī)制。通俗來講呢,就是在運(yùn)行狀態(tài)中,我們可以根據(jù)“類的部分已經(jīng)的信息”來還原“類的全部的信息”。這里“類的部分已經(jīng)的信息”,可以是“類名”或“類的對象”等信息。“類的全部信息”就是指“類的屬性,方法,繼承關(guān)系和Annotation注解”等內(nèi)容。
舉個(gè)簡單的例子:假設(shè)對于類ReflectionTest.java,我們知道的唯一信息是它的類名是“com.bjpowernode.Reflection”。這時(shí),我們想要知道ReflectionTest.java的其它信息(比如它的構(gòu)造函數(shù),它的成員變量等等),要怎么辦呢?
這就需要用到“反射”。通過反射,我們可以解析出ReflectionTest.java的完整信息,包括它的構(gòu)造函數(shù),成員變量,繼承關(guān)系等等。
在了解了“java 反射機(jī)制”的概念之后,接下來思考一個(gè)問題:如何根據(jù)類的類名,來獲取類的完整信息呢?
這個(gè)過程主要分為兩步:
第1步:根據(jù)“類名”來獲取對應(yīng)類的Class對象。
第2步:通過Class對象的函數(shù)接口,來讀取“類的構(gòu)造函數(shù),成員變量”等信息。
下面,我們根據(jù)示例來加深對這個(gè)概念的理解。示例如下(Demo1.java):
package com.bjpowernode.test; import java.lang.Class; public class Demo1 { public static void main(String[] args) { try { // 根據(jù)“類名”獲取 對應(yīng)的Class對象 Class<?> cls = Class.forName("com.bjpowernode.test.Person"); // 新建對象。newInstance()會調(diào)用類不帶參數(shù)的構(gòu)造函數(shù) Object obj = cls.newInstance(); System.out.println("cls="+cls); } catch (Exception e) { e.printStackTrace(); } } } class Person { public Person() { System.out.println("create Person"); } }
分享文章:Java反射機(jī)制詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://m.rwnh.cn/article28/djisjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、微信小程序、商城網(wǎng)站、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容