真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中反射詳解-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

為巴楚等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及巴楚網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、巴楚網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

閱讀目錄

  1. Java反射API
  2. 通過反射創(chuàng)建實(shí)例對(duì)象
  3. 通過反射調(diào)用私有方法
  4. 關(guān)于javap工具
  5. 參考資料

Java反射API

Java反射指的是在運(yùn)行狀態(tài)時(shí),能夠獲取類的屬性和方法或者修改類運(yùn)行時(shí)行為的過程。

java.lang.Class類提供了很多方法用于獲取元數(shù)據(jù)、檢查和改變類運(yùn)行時(shí)的行為。

Java的反射主要涉及java.lang和java.lang.reflect包下的類。

反射應(yīng)用場(chǎng)景舉例

  1. IDE, 如Eclipse、MyEclipse、NetBeans等;
  2. 調(diào)試器;
  3. 測(cè)試工具等;
  4. 各大框架、spring、hibernate等;

java.lang.Class類

java.lang.Class主要提供了以下兩個(gè)功能:

  1. 提供方法用于訪問運(yùn)行期間類的元數(shù)據(jù);
  2. 提供方法用于檢查和修改類的運(yùn)行時(shí)行為;

java.lang.Class類常用方法

Method Description
1) public String getName() 返回類名
2) public static Class forName(String className)throws ClassNotFoundException 加載類并返回Class對(duì)象
3) public Object newInstance()throws InstantiationException,IllegalAccessException 創(chuàng)建實(shí)例對(duì)象
4) public boolean isInterface() 判斷是否是接口
5) public boolean isArray() 判斷是否是數(shù)組
6) public boolean isPrimitive() 判斷是否是原始數(shù)據(jù)類型
7) public Class getSuperclass() 返回父類Class引用
8) public Field[] getDeclaredFields()throws SecurityException 返回類的成員屬性字段數(shù)組
9) public Method[] getDeclaredMethods()throws SecurityException 返回類的方法數(shù)組
10) public Constructor[] getDeclaredConstructors()throws SecurityException 返回類的構(gòu)造方法數(shù)組
11) public Method getDeclaredMethod(String name,Class[] parameterTypes)throws NoSuchMethodException,SecurityException 返回類中指定參數(shù)類型的方法

怎樣獲取Class對(duì)象

有三種方式,如下:

  1. Class類的forName()方法,動(dòng)態(tài)加載,運(yùn)行時(shí),開始裝入類, 并做類的靜態(tài)初始化
  2. 對(duì)象的getClass()方法,靜態(tài)加載(編譯時(shí)已加載)
  3. .class語法, 靜態(tài)加載(編譯時(shí)已加載)

forName()方法示例

可用于動(dòng)態(tài)加載,當(dāng)你知道類的全限定名時(shí),可以使用該方式。注意原始數(shù)據(jù)類型不適用該方法;

package tmp;
class Simple
{
}
public class Test
{
 public static void main(String args[]) throws ClassNotFoundException
 {
 Class<?> c = Class.forName("tmp.Simple");
 System.out.println(c.getName());
 System.out.println(c.getSimpleName());
 }
}

分享名稱:Java中反射詳解-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://weahome.cn/article/coiiid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部