欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java獲取反射機(jī)制的3種方法總結(jié)

 更新時(shí)間:2019年06月05日 09:44:41   作者:Grady_Camel  
這篇文章主要給大家介紹了關(guān)于java獲取反射機(jī)制的3種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

反射機(jī)制的概念:

指在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)類,都能夠知道這個(gè)類的所有屬性和方法,對(duì)于任意一個(gè)對(duì)象,都能調(diào)用它的任意一個(gè)方法.這種動(dòng)態(tài)獲取信息,以及動(dòng)態(tài)調(diào)用對(duì)象方法的功能叫java語言的反射機(jī)制.

反射機(jī)制的應(yīng)用:

生成動(dòng)態(tài)代理,面向切片編程(在調(diào)用方法的前后各加棧幀).

反射機(jī)制的原理:

1 首先明確的概念: 一切皆對(duì)象----類也是對(duì)象.

2 然后知道類中的內(nèi)容 :modifier constructor field method.

3 其次明白加載: 當(dāng)Animal.class在硬盤中時(shí),是一個(gè)文件,當(dāng)載入到內(nèi)存中,可以認(rèn)為是一個(gè)對(duì)象,是java.lang.class的對(duì)象.

java 獲取反射常使用的三種方式:

1.通過new對(duì)象實(shí)現(xiàn)反射機(jī)制

2.通過路徑實(shí)現(xiàn)反射機(jī)制

3.通過類名實(shí)現(xiàn)反射機(jī)制

  • 通過Object類的getClass方法來獲取
  • 使用.class的方式
  • 使用Class.forName方法

例子:

建立一個(gè)學(xué)生類:

public class Student {
 private int id;
 String name;
 protected boolean sex;
 public float score; 
}

獲取反射機(jī)制

public class Get {
 //獲取反射機(jī)制三種方式
 public static void main(String[] args) throws ClassNotFoundException {
 //方式一(通過建立對(duì)象)
 Student stu = new Student();
 Class classobj1 = stu.getClass();
 System.out.println(classobj1.getName());
 
 //方式二(所在通過路徑-相對(duì)路徑)
 Class classobj2 = Class.forName("fanshe.Student");
 System.out.println(classobj2.getName());
 
 //方式三(通過類名)
 Class classobj3 = Student.class;
 System.out.println(classobj3.getName());
 } 
}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 淺談SpringBoot2.4 配置文件加載機(jī)制大變化

    淺談SpringBoot2.4 配置文件加載機(jī)制大變化

    這篇文章主要介紹了淺談SpringBoot2.4 配置文件加載機(jī)制大變化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • JavaWeb項(xiàng)目實(shí)現(xiàn)文件上傳動(dòng)態(tài)顯示進(jìn)度實(shí)例

    JavaWeb項(xiàng)目實(shí)現(xiàn)文件上傳動(dòng)態(tài)顯示進(jìn)度實(shí)例

    本篇文章主要介紹了JavaWeb項(xiàng)目實(shí)現(xiàn)文件上傳動(dòng)態(tài)顯示進(jìn)度實(shí)例,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-04-04
  • 通過jenkins發(fā)布java項(xiàng)目到目標(biāo)主機(jī)上的詳細(xì)步驟

    通過jenkins發(fā)布java項(xiàng)目到目標(biāo)主機(jī)上的詳細(xì)步驟

    這篇文章主要介紹了通過jenkins發(fā)布java項(xiàng)目到目標(biāo)主機(jī)上的詳細(xì)步驟,發(fā)布java項(xiàng)目的步驟很簡(jiǎn)單,通過拉取代碼并打包,備份目標(biāo)服務(wù)器上已有的要發(fā)布項(xiàng)目,具體內(nèi)容詳情跟隨小編一起看看吧
    2021-10-10
  • 使用代碼生成器自定義Entity的部分注解

    使用代碼生成器自定義Entity的部分注解

    這篇文章主要介紹了使用代碼生成器自定義Entity的部分注解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Springboot實(shí)現(xiàn)VNC的反向代理功能

    Springboot實(shí)現(xiàn)VNC的反向代理功能

    這篇文章主要介紹了Springboot實(shí)現(xiàn)VNC的反向代理,搭建過程也很簡(jiǎn)單,通過注冊(cè)bean攔截指定URL路徑進(jìn)行自定義操作,具體實(shí)例代碼跟隨小編一起看看需要的朋友可以參考下
    2021-09-09
  • 新手了解java IO基礎(chǔ)知識(shí)

    新手了解java IO基礎(chǔ)知識(shí)

    這篇文章主要介紹了java 基礎(chǔ)知識(shí)之IO總結(jié)的相關(guān)資料,Java中的I/O分為兩種類型,一種是順序讀取,一種是隨機(jī)讀取,需要的朋友可以參考下,希望對(duì)你有幫助
    2021-07-07
  • MyBatis中如何優(yōu)雅的使用枚舉詳解

    MyBatis中如何優(yōu)雅的使用枚舉詳解

    枚舉類型是我們?cè)陂_發(fā)中經(jīng)常遇到的一個(gè)類型,最近在學(xué)習(xí)MyBatis,但是發(fā)現(xiàn)網(wǎng)上沒有詳細(xì)介紹MyBatis如何使用枚舉的相關(guān)文章,索性就自己寫一篇,下面這篇文章主要給大家介紹了關(guān)于在MyBatis中如何優(yōu)雅的使用枚舉的相關(guān)資料,需要的朋友可以參考借鑒。
    2017-08-08
  • 關(guān)于弗洛伊德算法求最短路徑詳解

    關(guān)于弗洛伊德算法求最短路徑詳解

    這篇文章主要介紹了關(guān)于弗洛伊德算法求最短路徑詳解,弗洛伊德算法VS迪杰斯特拉算法:迪杰斯特拉算法通過選定的被訪問頂點(diǎn),求出從出發(fā)訪問頂點(diǎn)到其他項(xiàng)點(diǎn)的最短路徑:弗洛伊德算法中每-個(gè)頂點(diǎn)都是出發(fā)訪問點(diǎn),需要的朋友可以參考下
    2023-07-07
  • Java利用泛型實(shí)現(xiàn)折半查找法

    Java利用泛型實(shí)現(xiàn)折半查找法

    泛型是JAVA重要的特性,使用泛型編程,可以使代碼復(fù)用率提高。查找作為泛型的一個(gè)簡(jiǎn)單應(yīng)用,本文將使用泛型實(shí)現(xiàn)折半查找法,感興趣的可以了解一下
    2022-08-08
  • java.sql.Date和java.util.Date的區(qū)別詳解

    java.sql.Date和java.util.Date的區(qū)別詳解

    Java中有兩個(gè)Date類,一個(gè)是java.util.Date通常情況下用它獲取當(dāng)前時(shí)間或構(gòu)造時(shí)間,另一個(gè)是java.sql.Date是針對(duì)SQL語句使用的,它只包含日期而沒有時(shí)間部分,這篇文章主要給大家介紹了關(guān)于java.sql.Date和java.util.Date區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2023-03-03

最新評(píng)論