反射 reflection基本使用

2021-07-12 07:26:44 字數 1215 閱讀 2086

反射 reflection

class  jvm中  用來 管理類的  類

怎樣獲取乙個類的class物件?

1、類名.class

2、物件.getclass()

3、class.forname("包名.類名");異常 處理

class 物件是單例的

能通過class物件取到該類中的

包、類名、父類、介面、屬性、方法、構造方法

能取所有的,也能取到public,還能取某個特定的

反射有啥用

1、破壞封裝

2、今天呼叫明天的**   解耦和

基本使用如下:

package ***;

public class testref01

//獲取屬性public 

field fs = c1.getfields();

for (field f : fs)

// 反射  1、破壞封裝

//  獲取所有的屬性

field allfs = c1.getdeclaredfields();

"all   fields ............");

for (field f : allfs)

//獲取構造方法public

constructor cons =  c1.getconstructors();

system.out.println(cons.length);

//獲取所有的構造方法

constructor allcons = c1.getdeclaredconstructors();

system.out.println(allcons.length);

system.out.println("methods.........................");

// 獲取方法

// 所有public方法,包括父類 或者 父介面中的

method ms  = c1.getmethods();

method allms = c1.getdeclaredmethods();

for (method m : ms)  }

}

反射(Reflection)機制

反射 reflection 是.net中的重要機制,通過放射,可以在執行時獲得.net中每乙個型別 包括類 結構 委託 介面和列舉等 的成員,包括方法 屬性 事件,以及建構函式等。還可以獲得每個成員的名稱 限定符和引數等。有了反射,即可對每乙個型別瞭如指掌。如果獲得了建構函式的資訊,即可直接建立物件...

C 程式設計 Reflection 反射

學習c 已有不長不短的一段時間了,反射對我來說一直是很神秘,讓我敬而遠之,開始做公司系統也有近三個月的時間了,從開始到公司熟悉業務,時逢缺人之季,沒過幾天就開始修改bug,到後來做些小需求,做為乙個剛畢業沒啥經驗的新人來說也不可能讓我做什麼太高深的東西,一直這麼忙碌著,到現在系統一些很具體的東西也沒...

後台 31 反射Reflection

探索android軟鍵盤的疑難雜症 深入 android非同步精髓handler 詳解android主流框架不可或缺的基石 站在原始碼的肩膀上全解scroller工作機制 android多解析度適配框架 1 核心基礎 android多解析度適配框架 2 原理剖析 android多解析度適配框架 3 ...