反射是Java程序进行自我分析的能力。
java.lang.reflect包提供了获取有关类的字段,构造函数,方法和修饰符的信息的能力。
可以分析类功能的程序称为
反光的 。以下是反射的四个功能:
- 在运行时分析类的功能
- 在运行时分析对象
- 编写通用数组代码
- 方法指针
- 数组
- 领域
- 建设者
- 方法
- 修饰符
下面的简单程序说明了反射的概念。
ReflectionDemo.java
import java.lang.reflect.*;
/**
*@author Sreekandan.K
*/
public class ReflectionDemo
{
public static void main(String args[])
{
try
{
String clsName="java.util.Date";
Class c=Class.forName(clsName);
System.out.println("Constructors...");
Constructor cnts[]=c.getConstructors();
for(int i=0;i<cnts.length;i++)
{
System.out.println(" "+cnts[i]);
}
System.out.println("Fields...");
Field flds[]=c.getFields();
for(int i=0;i<flds.length;i++)
{
System.out.println(" "+flds[i]);
}
System.out.println("Methods...");
Method mds[]=c.getMethods();
for(int i=0;i<mds.length;i++)
{
System.out.println(" "+mds[i]);
}
}
catch(Exception e)
{
System.out.println("Exception:"+e);
}
}
}
From: https://bytes.com/topic/java/insights/920660-how-use-reflection-java