java 反射的作用

2021-06-04 17:34:58 字數 765 閱讀 2207

反射:顧名思義,就是能從影子看到他的本尊(類和方法的取名通常都有特定的含義)   反編譯就是運用反射實現的    自定義或者自描述的

反射的內部實現

person ->class

public class  class

與反射有關4個類:class(獲取例項,字段,方法)   field(與字段相關的操作) 

method(與方法相關的操作)   constructor(與建構函式相關的操作)

反射的3個作用:

1.修改記憶體中的物件屬性(private)

2.直接呼叫物件的方法(非常規的)

3.建立物件的例項

利用反射獲取例項的3個方法:

1.class.forname("類的完整名稱")   必須進行顯式的異常處理

返回與此類相關聯的class物件

利用此反射方法獲取物件例項可實現通過xml文件對例項的進行配置

person   p1=class.forname("test.person").newinstance();

2.person p=new person();

p1.getclass();//獲得乙個與person類相關聯的class物件,利用此方法可以建立與先前物件一樣型別的物件

person p2=p1.getclass().newinstance();

3.person.class  這就是乙個與person有關的class物件   class

person.class.newinstance();

java反射 通用的java反射工具

因專案需要,需要反射呼叫安卓系統audiomanager的一些方法,這些方法或者使用 hide標記,或者需要的sdk版本比較高,無法直接呼叫,這個時候,反射就是一大神器了。正常的反射呼叫流程如下 非靜態有返回值方法反射 class clazz class.forname full classname...

簡單利用java反射 理解註解的作用

在新版框架中 都加入了 註解大大減少了xml配置的臃腫。新建註解 retention retentionpolicy.runtime public inte ce newhelloword通過反射 實現方法呼叫前後 註解的功能。public class parser system.out.print...

java反射 4 反射賦值

本篇介紹利用反射給物件賦值 方法1 獲得並使用預設構造器建立類的物件 並對物件賦值 這裡類用的是person類 屬性有 id name address 來做例子 public class person public void setid integer id public string getnam...