當前位置:首頁 » 編程語言 » 反射java

反射java

發布時間: 2022-01-08 08:44:16

1. java的反射機制是什麼

反射技術:其實就是動態載入一個指定的類,並獲取該類中的所有的內容。並將位元組碼文件中的內容都封裝成對象,這樣便於操作這些成員。簡單說:反射技術可以對一個類進行解剖。

反射的好處:大大的增強了程序的擴展性。

反射的基本步驟:

1、獲得Class對象,就是獲取到指定的名稱的位元組碼文件對象。

2、實例化對象,獲得類的屬性、方法或構造函數。

3、訪問屬性、調用方法、調用構造函數創建對象。

2. java中反射的三種方法是

第一種:通過forName()方法;

第二種:類.class;

第三種:對象.getClass()。

舉例如下:

package
test;

public class Demo{

public static void
main(){

Class<?> c1 = null;

Class<?> c2 =
null;

Class<?> c3 =
null;

//三種反射用實例化方式

try{

//最常用的一種形式

c1 =
Class.forName("test.X");

}catch(ClassNotFoundException
e){

e.printStackTrace();

}

//通過Object類中的方法實例化

c2
= new X().getClass();

//通過類.class實例化

c3 =
X.class;

System.out.println("類名:" + c1.getName());
//得到類名

System.out.println("類名:" + c2.getName());
//得到類名

System.out.println("類名:" + c3.getName());
//得到類名

}

}

3. java中的反射怎麼用

首先應該說 反射機制提供的功能是很強大的 但是客觀性和維護性很差
一般反射用在 構造框架 以及工具開發等等
但是實際開發軟體運用的並不多
下面是一個簡單的例子

package com.wqx.test4;

public class Test {
public void sayhello(String name)
{
System.out.println("hello:"+name);
}

public static void main(String[] args) {
try {
//把test 這個類載入內存
Class c=Class.forName("com.wqx.test4.Test");
//創建這個類的實例
Object obj=c.newInstance();
//通過class來取得這個方法對象 並且聲明 這個類的參數類型
java.lang.reflect.Method method=c.getMethod("sayhello", Class.forName("java.lang.String"));
//invoke 來執行方法對象 記得參數類型要跟這里的參數匹配
method.invoke(obj, "wqx");
} catch (Exception e) {
// TODO: handle exception
}
}
}

4. java 反射有什麼用

反射就是把java類中的各種成分映射成為相應的java類。例如:一個java類用一個Class類的對象來表示,一個類中的組成部分:成員變數、方法、構造函數、包等等信息也用一個個java類來表示,就像汽車是一個類,汽車中的發動機,變速箱等等也是一個個的java類,表示java類的Class類顯然要提供一系列的方法,來獲得其中的變數,方法,構造函數,修飾符,包等信息,這些信息就是用相應類的實例對象來表示,它們是Field、Method、Constructor、Package等等

在平時的編程中,反射基本用不到,但是在編寫框架的時候,反射用的就多了,比如你要使用某一個類進行操作,但是這個類是用戶通過配置文件配置進來的,你需要先讀配置文件,然後拿到這個類的全類名:比如com.onede4..Person,然後在利用反射API來做操作

熱點內容
圖形化編程語言 發布:2024-09-21 09:13:14 瀏覽:417
python二維 發布:2024-09-21 08:40:05 瀏覽:231
安卓電視上如何下載電視家 發布:2024-09-21 08:29:57 瀏覽:293
php字元串引號 發布:2024-09-21 08:17:03 瀏覽:783
androidduration 發布:2024-09-21 08:17:03 瀏覽:402
大話西遊2華山論劍什麼時候開的伺服器 發布:2024-09-21 08:00:15 瀏覽:530
編程馬鞍數 發布:2024-09-21 07:48:32 瀏覽:729
新建文件夾dos命令 發布:2024-09-21 07:44:13 瀏覽:132
舞蹈解壓介紹 發布:2024-09-21 07:40:04 瀏覽:974
qq如何顯示密碼 發布:2024-09-21 07:22:26 瀏覽:567