【譯】1. Java反射——引言


原文地址:http://tutorials.jenkov.com/java-reflection/index.html

*By Jakob Jenkov

  Java的反射機制使得它可以在運行時檢查類、接口、字段、方法,而在編譯時並不不知道它們的名稱。也可以通過反射實例化新的對象,調用方法,get/set字段的值。

  Java的反射機制非常強大而且非常有用。對實例而言,在運行時可以映射對象到數據庫中的表,就和 Butterfly Persistence 做的一樣。或者,在運行時將腳本中的語句映射到真實對象上的方法調用,就和 Butterfly Container 在解析它的配置腳本時做的一樣。

  在互聯網上已經有很多關於Java反射的教程了。然而,包括Sun公司提供的在內,大多數Java反射教程都只涉及了Java反射的表面和Java反射機制的可能性。

  本教程將比我之前看到的大多數教程更深層次的觸及Java的反射機制。我將解釋Java反射的基本知識,包括如何使用數組、注解、泛型、動態代理、類的動態加載和重新加載。也會告訴你該如何做一些比較具體的事情,如讀取類的所有getter方法,或者訪問類的私有字段和方法。本教程也會澄清一些在運行時哪些泛型信息可用的困惑。有些人聲稱,所有的泛型信息在運行時都丟失了。這中理解是不對的。

  本教程將基於Java 6介紹Java的反射機制。

  • Java反射例子

  在這里有一個快速使用Java反射的例子展示了使用反射時的樣子:

1 Method[] methods = MyObject.class.getMethods();
2 for(Method method : methods){
3   System.out.println("method = " + method.getName());
4 }

 

  在這個例子中得到了MyObject的Class對象。這個例子通過Class對象獲取了MyObject類中的方法列表,並且迭代打印出了各個方法的方法名。
  這一切究竟是如何工作將在整個教程的剩余部分中進一步闡述(在其他文章中)。

  

  • 目錄

這是一個本教程到目前為止涵蓋的主題列表:     

  1. Java反射——引言
  2. Java反射——Class對象
  3. Java反射——構造函數
  4. Java反射——字段
  5. Java反射——方法
  6. Java反射——Getter和Setter
  7. Java反射——私有字段和私有方法
  8. Java反射——注解
  9. Java反射——泛型
  10. Java反射——數組
  11. Java反射——動態代理
  12. Java反射——類的動態加載和重新加載

 

 

(敬請期待下一篇翻譯)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM