国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java通過反射創(chuàng)建反射對象三種的方法

這篇具有很好參考價值的文章主要介紹了java通過反射創(chuàng)建反射對象三種的方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

目錄

前言:

代碼部分:

computer類:

1.類名.class創(chuàng)建反射對象:

2.對象.getclass創(chuàng)建反射對象:

3.Class.forName("")創(chuàng)建反射對象:


前言:

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

這里的反理解為反轉(zhuǎn),控制反轉(zhuǎn)。假如我們需要零花錢就找老婆要,這是“正”。但是現(xiàn)在反過來是老婆主動給我們,這是“反”。雖然最后的結(jié)果都一樣,都是老婆給我們零花錢,但是方式不一樣。程序中以前創(chuàng)建對象是通過new來創(chuàng)建對象,自上而下。但是現(xiàn)在我們可以使用反射技術(shù)反過來自下而上的提供訪問。反射相關(guān)的類都在java.lang.reflect包下。文章來源地址http://www.zghlxwxcb.cn/news/detail-622009.html

代碼部分:

computer類:

package com.dmdd.ioc;

public class Computer {
    private String brand;
    private Cpu cpu;
    private Memory memory;

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public Cpu getCpu() {
        return cpu;
    }

    public void setCpu(Cpu cpu) {
        this.cpu = cpu;
    }

    public Memory getMemory() {
        return memory;
    }

    public void setMemory(Memory memory) {
        this.memory = memory;
    }
    public void start (){
        System.out.println(brand+"品牌的電腦啟動了");
        cpu.run();
        memory.read();
        memory.write();
    }
}

1.類名.class創(chuàng)建反射對象:

public static void main(String[] args) {
        Class<Computer> computerClass = Computer.class;
    }

2.對象.getclass創(chuàng)建反射對象:

public static void main(String[] args) {
        Computer computer = new Computer();
        Class<? extends Computer> aClass = computer.getClass();
    }

3.Class.forName("")創(chuàng)建反射對象:

public static void main(String[] args) {
        try {
            Class.forName("com.dmdd.ioc.Computer");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

到了這里,關(guān)于java通過反射創(chuàng)建反射對象三種的方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java反射:探索對象創(chuàng)建與類信息獲取

    Java反射:探索對象創(chuàng)建與類信息獲取

    ??歡迎來到Java學(xué)習(xí)路線專欄~Java反射:探索對象創(chuàng)建與類信息獲取 ☆* o(≧▽≦)o *☆嗨~我是IT·陳寒?? ?博客主頁:IT·陳寒的博客 ??該系列文章專欄:Java學(xué)習(xí)路線 ??其他專欄:Java學(xué)習(xí)路線 Java面試技巧 Java實(shí)戰(zhàn)項(xiàng)目 AIGC人工智能 數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí) ??文章作者技術(shù)和水平有限

    2024年02月09日
    瀏覽(23)
  • JVM源碼剖析之Java對象創(chuàng)建過程

    JVM源碼剖析之Java對象創(chuàng)建過程

    關(guān)于 \\\"Java的對象創(chuàng)建\\\" 這個話題分布在各種論壇、各種帖子,文章的水平參差不齊。并且大部分僅僅是總結(jié) \\\"面試寶典\\\" 的流程,小部分就是copy其他帖子,極少能看到拿源碼作為論證。所以特意寫下這篇文章。 版本信息如下: 首先把總結(jié)圖放在這。接下來分析源碼~? 用一個

    2024年02月12日
    瀏覽(22)
  • 【JVM】詳細(xì)解析java創(chuàng)建對象的具體流程

    【JVM】詳細(xì)解析java創(chuàng)建對象的具體流程

    目錄 一、java創(chuàng)建對象的幾種方式 1.1、使用new ?1.2、反射創(chuàng)建對象 1.2.1、Class.newInstance創(chuàng)建對象 1.2.2、調(diào)用構(gòu)造器再去創(chuàng)建對象Constructor.newInstance ?1.3、clone實(shí)現(xiàn) 1.4、反序列化 二、創(chuàng)建對象的過程 2.1、分配空間的方式 1、指針碰撞 2、空閑列表 3、怎么選擇分配方式 三、

    2024年02月15日
    瀏覽(14)
  • JVM 創(chuàng)建對象時分配內(nèi)存的幾種方法、分配方法的選擇

    ????????假設(shè)Java堆中內(nèi)存是絕對規(guī)整的,所有被使用過的內(nèi)存都被放在一邊,空閑的內(nèi)存被放在另一邊,中間放著一個指針作為分界點(diǎn)的指示器,那所分配內(nèi)存就僅僅是把那 個指針向空閑空間方向挪動一段與對象大小相等的距離。 ????????如果Java堆中的內(nèi)存并不是規(guī)

    2024年02月10日
    瀏覽(17)
  • 深入理解JVM:Java使用new創(chuàng)建對象的流程

    ????????①new 對象 ????????②反射 ????????③對象的復(fù)制 ????????④反序列化 先看看常量池里面有沒有,如果有,就用常量池的 看這個類有沒有被加載過,如果沒有,就執(zhí)行類加載以及類的初始化。(對象的大小,在類加載的時候就確定了)。 對象在堆內(nèi)存

    2024年02月15日
    瀏覽(30)
  • Java中的反射(通過反射獲取類的結(jié)構(gòu)、invoke方法、獲取注解)

    Java中的反射(通過反射獲取類的結(jié)構(gòu)、invoke方法、獲取注解)

    創(chuàng)建運(yùn)行時類的對象是反射機(jī)制應(yīng)用最多的地方。創(chuàng)建運(yùn)行時類的對象有兩種方式: 方式1:直接調(diào)用Class對象的newInstance()方法 要求: 1)類必須有一個無參數(shù)的構(gòu)造器。 2)類的構(gòu)造器的訪問權(quán)限需要足夠。 方式一的步驟 : 1)獲取該類型的Class對象 2)調(diào)用Class對象的 new

    2024年02月04日
    瀏覽(28)
  • java中判斷對象類型的三種方法

    instanceof instanceof 是 Java 中的一個,用于判斷一個對象是否是指定類型或其子類型的實(shí)例。它的使用格式為: 其中, 對象 是待判斷的對象, 類型 是要判斷的類型。 instanceof 的返回值是一個布爾值,如果對象是指定類型或其子類型的實(shí)例,則返回 true ,否則返回

    2024年02月03日
    瀏覽(22)
  • Java創(chuàng)建List 的三種方法

    1.通過 new ArrayList()? 2.? 通過Arrays.asList() 這種方法構(gòu)造出的List是固定長度的,如果調(diào)用add方法增加新的元素,會報異常,List是由Array轉(zhuǎn)換而來,而Array是不能動態(tài)增加長度的,適合于構(gòu)造靜態(tài)不變List. 3.通過hutool工具類collectionUtil創(chuàng)建? ?list可以動態(tài)添加元素,比較友好,適合

    2024年02月11日
    瀏覽(26)
  • java面試題(21):private修飾的方法可以通過反射訪問,那么private的意義是什么?

    1 反射簡介 Java,在一個類中,為了不讓外界訪問到某些屬性和方法,通常將其設(shè)置為private,用正常的方式(對象名.屬性名,對象名.方法名)將無法訪問此屬性與方法,但有沒有其他方法可以訪問呢?答案是有的,這就是java反射帶來的便利。利用反射訪問類的私有屬性及方

    2024年01月22日
    瀏覽(28)
  • Java 創(chuàng)建多線程的三種方法

    Java 創(chuàng)建多線程的三種方法

    在Java中創(chuàng)建多線程,往往都要通過Thread類來實(shí)現(xiàn),今天學(xué)習(xí)下Java中創(chuàng)建多線程的三種方法[1]。 通過繼承 Thread類 實(shí)現(xiàn)多線程。 主要方法: 1.void run(), 線程開啟后,方法將被調(diào)用執(zhí)行 2.void start(), 使此線程開始執(zhí)行, Java虛擬機(jī)會調(diào)用run()方法 實(shí)現(xiàn)步驟: 1.定義類,繼承 Thread類

    2024年02月05日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包