真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java的反射機(jī)制是什么?

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

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

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

Class 類與 java.lang.reflect 類庫一起對反射的概念進(jìn)行了支持,該類庫包含了 Field,Method,Constructor 類 (每個類都實(shí)現(xiàn)了 Member 接口)。這些類型的對象時由 JVM 在運(yùn)行時創(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ù)組。這樣匿名對象的信息就能在運(yùn)行時被完全確定下來,而在編譯時不需要知道任何事情。

通過反射機(jī)制獲取類信息

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

下面這段代碼分別在運(yùn)行期間創(chuàng)建了一個無參與有參的對象實(shí)例。由于 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 constructor1 = clazz.getConstructor();
        Constructor 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的反射機(jī)制的詳細(xì)內(nèi)容,代碼示例簡單明了,如果在日常工作遇到此問題。通過這篇文章,希望你能有所收獲,更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享名稱:java的反射機(jī)制是什么?
分享鏈接:http://weahome.cn/article/pgiscc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部