1. 程式人生 > >反射機制功能用法

反射機制功能用法

1、什麼是反射機制?
簡單說,反射機制值得是程式在執行時能夠獲取自身的資訊。在java中,只要給定類的名字,那麼就可以通過反射機制來獲得類的所有資訊。

2、java反射機制提供了什麼功能?
在執行時能夠判斷任意一個物件所屬的類
在執行時判斷任意一個類所具有的成員變數和方法
在執行時呼叫任一物件的方法、設定屬性值
在執行時建立類物件

3、哪裡用到反射機制?
jdbc中有一行程式碼:Class.forName(‘com.mysql.jdbc.Driver.class’).newInstance();那個時候只知道生成驅動物件例項,後來才知道,這就是反射,現在很多框架都用到反射機制,hibernate,struts都是用反射機制實現的。

4、反射機制的優缺點?
靜態編譯:在編譯時確定型別,繫結物件,即通過
優點:
動態編譯:執行時確定型別,繫結物件。動態編譯最大限度的發揮了java的靈活性,體現了多型的應用,有利於降低類之間的耦合性。
缺點:
它的缺點是對效能有影響。使用反射基本上是一種解釋操作,我們可以告訴JVM,我們希望做什麼並且它滿足我們的要求。這類操作總是慢於只直接執行相同的操作。

獲取Class的方法有3種
//第一種方式:
Classc1 = Class.forName(“Employee”);
//第二種方式:
//java中每個型別都有class 屬性.
Classc2 = Employee.class;

//第三種方式:
//java語言中任何一個java物件都有getClass 方法
Employeee = new Employee();
Classc3 = e.getClass(); //c3是執行時類 (e的執行時類是Employee)

設定物件屬性的方法

呼叫物件方法的用法