程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java 反射機制系列(一) 初識Java Reflection

java 反射機制系列(一) 初識Java Reflection

編輯:關於JAVA

Java 反射機制是指Java程序可以在執行期載入,探知,使用編譯期間完全未知的classes.這句話可能有點難以理解,我們可以通過一個例子來看。在Java程序中我們經常會用到這樣一條語句來創建一個對象。Date date = new Date();在這條語句中date的類型(Java.util.Date)在編譯時 已經確定。那麼,有沒有辦法使我們把對象類型的確定時間由編譯轉到運行,答案是肯定的。這就是Java反射機制所提供的便利。而且它不單單可以生成對象還可以獲取Field,對Field設值,及調用方法等。

談及Java反射機制就一定要知道一個名為“Class”的類,它是Java反射機制的基礎。“Class”和其它類一樣繼承於Object類,它的實例對象用來描述Java運行時的一種類型,接口,或者原始類型(比如int).“Class”的實例要由JVM創建,它沒有公用的構造方法。下面我們來看一下如何獲得"Class"類實例。

主要有三種方法。

一,通過Class類的靜態方法forName獲取。Class cla = Class.forName("java.lang.String");

二,通過.Type或.class屬性獲得。Class cla = String.class;Class cla1 = int.Type;

三,通過實例變量的getClass方法獲得。String s = ""; Class cla = s.getClass();

如上所示實例對象cla就是對String類型的描述,通過它我們就可以創建一個String實例,並調用其中的方法。下一篇我將通過一個例子來展示如何使用Java反射機制。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved