亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中反射的一個簡單使用

 更新時間:2016年11月14日 10:43:59   作者:Only凹凸曼  
一直感覺Java的反射機制很強大,JAVA反射技術(shù)在平時我們的開發(fā)中雖然很少會用到,但在我們所使用的框架源碼中是經(jīng)常會用到的。這篇文中就給大家介紹了關(guān)于Java中反射的一個簡單使用,有需要的朋友們下面來一起看看吧。

簡介

首先介紹一些不太實用的解釋:JAVA反射機制是在運行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調(diào)用它的任意方法和屬性;這種動態(tài)獲取信息以及動態(tài)調(diào)用對象方法的功能稱為java語言的反射機制。

簡單使用

反射,在java中是非常常見和好用的一種方式,(但是大家需要知道,他的效率是比較低的,所以要慎用)當(dāng)然在基于java語言而產(chǎn)生的Android中也是可以使用的,我們可以使用反射來獲取一些系統(tǒng)并不開放,但是存在的類,從而調(diào)用他的一些方法,下面就簡單的寫一下,利用java反射來獲取類和調(diào)用它的方法的實現(xiàn)。

//需要被反射調(diào)用的類的路徑
String className = "com.example.test.JavaReflect";Class reflect = null;
try {  
 //通過路徑來獲取java類  
 reflect = Class.forName(className);  
 //實例化對應(yīng)得類  
 Object javaReflect = reflect.newInstance();  
 if(null != javaReflect) {    
  //反射出該Class類中的stringToUp()方法 stringToUp是方法名,String.class是參數(shù)類型    
  Method stringToUp = reflect.getDeclaredMethod("stringToUp", String.class);    
  //取消訪問私有方法的合法性檢查    
  stringToUp.setAccessible(true);    
 //調(diào)用stringToUp()方法,第一個參數(shù)表示對應(yīng)的類,第二個是方法的參數(shù) 
  String str = (String) stringToUp.invoke(javaReflect,"java reflect test");
  System.out.println("result:"+str); 
 }
}catch (Exception e) {  
 e.printStackTrace();
}

我們來看一下,在stringToUp里面做了什么:

public String stringToUp(String str){  
 return str.toUpperCase();
}

其實就是一個對字符串轉(zhuǎn)換成大寫,然返回,好了我們來看一下輸出結(jié)果:

01-02 08:09:11.959 6150-6150/com.zxf.alpha I/System.out: result:JAVA REFLECT TEST

簡直就是完美。

總結(jié)

好了,以上就是這篇文章的全部內(nèi)容了,反射在Android中的應(yīng)用范圍也很多,比如我們項目有多個module的時候,你想在module里面調(diào)用主的程序的一個方法你就可以這么干,也可以用反射來調(diào)用一些系統(tǒng)為公開的方法,但是效率不太高。希望本文的內(nèi)容對大家學(xué)習(xí)或者使用Java中的放射能有所幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • mybatisplus自動填充屬性值的實現(xiàn)步驟

    mybatisplus自動填充屬性值的實現(xiàn)步驟

    MyBatis-Plus提供自動填充的功能,幫助自定設(shè)置這些字段的值,提升開發(fā)效率,本文就來介紹一下如何使用,感興趣的可以了解一下
    2023-12-12
  • 詳解Java I/O流中的字符流有哪些

    詳解Java I/O流中的字符流有哪些

    字節(jié)流的功能已經(jīng)十分強大,幾乎可以直接或間接地處理任何類型的輸入/輸出操作,但它卻不能直接操作16位的Unicode字符,這就需要使用字符流,所以在今天的內(nèi)容中,小編會給大家講解IO流中的字符流,希望各位能夠繼續(xù)耐心學(xué)習(xí)
    2023-10-10
  • SpringCloud中數(shù)據(jù)認證加密的方法總結(jié)

    SpringCloud中數(shù)據(jù)認證加密的方法總結(jié)

    在當(dāng)今分布式系統(tǒng)的日益復(fù)雜和信息傳遞的廣泛網(wǎng)絡(luò)化環(huán)境中,數(shù)據(jù)的加密和認證作為保障信息傳遞安全的關(guān)鍵手段,Spring?Cloud,作為一套構(gòu)建微服務(wù)架構(gòu)的強大框架,提供了多種靈活而強大的數(shù)據(jù)加密和認證方式,本文給大家總結(jié)了SpringCloud數(shù)據(jù)認證加密的方法
    2024-03-03
  • 淺談MyBatis所有的jdbcType類型

    淺談MyBatis所有的jdbcType類型

    在Mybatis中JdbcType類型是一個枚舉類型,它包含了所有的JDBC數(shù)據(jù)類型,如VARCHAR、INTEGER、DATE等,本文主要介紹了淺談MyBatis所有的jdbcType類型,具有一定的參考價值,感興趣的可以了解一下
    2023-06-06
  • SpringBoot整合ShardingSphere5.x實現(xiàn)數(shù)據(jù)加解密功能(最新推薦)

    SpringBoot整合ShardingSphere5.x實現(xiàn)數(shù)據(jù)加解密功能(最新推薦)

    這篇文章主要介紹了SpringBoot整合ShardingSphere5.x實現(xiàn)數(shù)據(jù)加解密功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • 基于OAuth2.0授權(quán)系統(tǒng)的驗證碼功能的實現(xiàn)

    基于OAuth2.0授權(quán)系統(tǒng)的驗證碼功能的實現(xiàn)

    本篇教程給大家分享基于OAuth2.0授權(quán)系統(tǒng)的驗證碼功能的實現(xiàn),驗證碼功能的實現(xiàn)是采用Zuul網(wǎng)關(guān)的Filter過濾器進行校驗驗證碼,具體實現(xiàn)代碼跟隨小編一起看看吧
    2021-05-05
  • 線程局部變量的實現(xiàn)?ThreadLocal使用及場景介紹

    線程局部變量的實現(xiàn)?ThreadLocal使用及場景介紹

    這篇文章主要為大家介紹了線程局部變量的實現(xiàn)?ThreadLocal使用及場景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • SpringBoot實現(xiàn)IP地址解析的示例代碼

    SpringBoot實現(xiàn)IP地址解析的示例代碼

    本篇帶大家實踐在springboot項目中獲取請求的ip與詳細地址,我們的很多網(wǎng)站app中都已經(jīng)新增了ip地址顯示,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Java單元測試工具之JUnit的使用

    Java單元測試工具之JUnit的使用

    本篇文章主要詳細介紹單元測試工具JUnit的使用,文章中有詳細的代碼實例,有一定的參考價值,需要的朋友可以參考閱讀
    2023-04-04
  • Redis緩存,泛型集合與json字符串的相互轉(zhuǎn)換實例

    Redis緩存,泛型集合與json字符串的相互轉(zhuǎn)換實例

    這篇文章主要介紹了Redis緩存,泛型集合與json字符串的相互轉(zhuǎn)換實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評論