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

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

*By Jakob Jenkovjava

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

  Java的反射機制很是強大並且很是有用。對實例而言,在運行時能夠映射對象到數據庫中的表,就和 Butterfly Persistence 作的同樣。或者,在運行時將腳本中的語句映射到真實對象上的方法調用,就和 Butterfly Container 在解析它的配置腳本時作的同樣。數組

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

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

  本教程將基於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類中的方法列表,而且迭代打印出了各個方法的方法名。
  這一切到底是如何工做將在整個教程的剩餘部分中進一步闡述(在其餘文章中)。code

  

  • 目錄

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

  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反射——類的動態加載和從新加載

 

 

(敬請期待下一篇翻譯)

相關文章
相關標籤/搜索