欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

java的反射機制是什么?

java的反射機制是什么?這個問題可能是我們?nèi)粘9ぷ鹘?jīng)常見到的。通過這個問題,希望你能收獲更多。今天跟隨小編一起來看解決方案吧。

創(chuàng)新互聯(lián)專注于科爾沁左翼網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供科爾沁左翼營銷型網(wǎng)站建設(shè),科爾沁左翼網(wǎng)站制作、科爾沁左翼網(wǎng)頁設(shè)計、科爾沁左翼網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造科爾沁左翼網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供科爾沁左翼網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

Java 反射機制是在運行狀態(tài)中,對于任意一個類,都能夠獲得這個類的所有屬性和方法,對于任意一個對象都能夠調(diào)用它的任意一個屬性和方法。這種在運行時動態(tài)的獲取信息以及動態(tài)調(diào)用對象的方法的功能稱為 Java 的反射機制。

Class 類與 java.lang.reflect 類庫一起對反射的概念進行了支持,該類庫包含了 Field,Method,Constructor 類 (每個類都實現(xiàn)了 Member 接口)。這些類型的對象時由 JVM 在運行時創(chuàng)建的,用以表示未知類里對應(yīng)的成員。

這樣你就可以使用 Constructor 創(chuàng)建新的對象,用 get() 和 set() 方法讀取和修改與 Field 對象關(guān)聯(lián)的字段,用 invoke() 方法調(diào)用與 Method 對象關(guān)聯(lián)的方法。

另外,還可以調(diào)用 getFields() getMethods() 和 getConstructors() 等很便利的方法,以返回表示字段,方法,以及構(gòu)造器的對象的數(shù)組。這樣匿名對象的信息就能在運行時被完全確定下來,而在編譯時不需要知道任何事情。

通過反射機制獲取類信息

通過反射機制創(chuàng)建對象,在創(chuàng)建對象之前要獲得對象的構(gòu)造函數(shù)對象,通過構(gòu)造函數(shù)對象創(chuàng)建對應(yīng)類的實例。

下面這段代碼分別在運行期間創(chuàng)建了一個無參與有參的對象實例。由于 getConstructor() 方法與 newInstance() 方法拋出了很多異常 (你可以通過源代碼查看它們),這里就簡寫了直接拋出一個 Exception,下同。

package com.jas.reflect;

import java.lang.reflect.Constructor;

public class ReflectTest {
    public static void main(String[] args) throws Exception {

        Class clazz = null;
        clazz = Class.forName("com.jas.reflect.Fruit");
        Constructor<Fruit> constructor1 = clazz.getConstructor();
        Constructor<Fruit> constructor2 = clazz.getConstructor(String.class);

        Fruit fruit1 = constructor1.newInstance();
        Fruit fruit2 = constructor2.newInstance("Apple");

    }
}

class Fruit{
    public Fruit(){
        System.out.println("無參構(gòu)造器 Run...........");
    }
    public Fruit(String type){
        System.out.println("有參構(gòu)造器 Run..........." + type);
    }

}

輸出:

無參構(gòu)造器 Run...........
有參構(gòu)造器 Run...........Appl

以上就是java的反射機制的詳細內(nèi)容,代碼示例簡單明了,如果在日常工作遇到此問題。通過這篇文章,希望你能有所收獲,更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文標(biāo)題:java的反射機制是什么?
網(wǎng)站網(wǎng)址:http://www.chinadenli.net/article22/pgiscc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作品牌網(wǎng)站制作定制網(wǎng)站企業(yè)建站小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管