【译】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反射——类的动态加载和从新加载

 

 

(敬请期待下一篇翻译)

相关文章
相关标签/搜索