国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java中反射的一個簡單使用

2019-11-26 13:33:53
字體:
來源:轉載
供稿:網友

簡介

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

簡單使用

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

//需要被反射調用的類的路徑String className = "com.example.test.JavaReflect";Class reflect = null;try {   //通過路徑來獲取java類   reflect = Class.forName(className);   //實例化對應得類   Object javaReflect = reflect.newInstance();   if(null != javaReflect) {      //反射出該Class類中的stringToUp()方法 stringToUp是方法名,String.class是參數類型      Method stringToUp = reflect.getDeclaredMethod("stringToUp", String.class);      //取消訪問私有方法的合法性檢查      stringToUp.setAccessible(true);     //調用stringToUp()方法,第一個參數表示對應的類,第二個是方法的參數   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();}

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

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

簡直就是完美。

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商都县| 彰武县| 兴宁市| 苍溪县| 聂拉木县| 修文县| 寻乌县| 三明市| 伊宁市| 扎赉特旗| 乐至县| 宜宾县| 长宁县| 隆安县| 社会| 洛川县| 吉隆县| 广水市| 安丘市| 科技| 察隅县| 福清市| 康乐县| 郎溪县| 曲松县| 柳林县| 孟津县| 临夏市| 巴青县| 资溪县| 什邡市| 越西县| 义马市| 枣庄市| 江城| 元阳县| 涟水县| 沁源县| 防城港市| 临潭县| 雅江县|