Better

业精于勤荒于嬉

Java反射1-教程

Better's Avatar 2017-02-21 Java译文

  1. 1. 一个例子

Java反射指在程序运行的时候,能检查类,接口,域,方法等信息。在编译的时候也能通过反射创建对象,调用对象的方法以及get/set字段。
Java反射是十分强大且有用的。例如像 Butterfly Persistence当在运行时将对象映射到数据库中的表。或者像,当在运行时将脚本语言中的语句映射到实际对象上的方法调用时,
网上已经有众多的反射教程了。但是包括Sun公司在内的大多数反射教程,仅仅只是接触到反射的表层。
这篇教程将会更加的深入讲解反射比起那些我见过的。它将讲解反射的基本原理比如怎样操作数组的,泛型和动态代理,动态的加载类和重新加载。也将告诉你怎样去做一下更特别的任务,像获取一个类的所有方法,甚至是私有的变量。这篇教程理清运行时的可用泛型。有些人生成泛型在运行时已经消失了。这是不对的。
本教程基于Java 1.6。

一个例子

一个使用反射的列子:

1
2
3
4
5
Method[] methods = MyObject.class.getMethods();

for(Method method : methods){
System.out.println("method = " + method.getName());
}

这个例子获取到的MyObject类的对象。打印了MyObject的所有的方法。
本教程的其余部分(在其他文本中)将进一步详细解释所有这些工作原理。
原文

This article was last updated on days ago, and the information described in the article may have changed.