Java反射机制
Java反射机制是运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意的一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的称为java语言的反射机制。
反射机制实例
public class Robot{
private String name;
public void sayHi(String helloSentence){
sout(hello);
}
private String throwHello(String tag){
return "Hello"
}
} public class ReflectSample{
public static void main(String[] arg){
Class rc = Class.forName("Robot")//全路径
Robot r = (Robot)rc.newInstance();//创建实例并且强转,因为Instance返回的是一个泛型。
sout(r.getName)
Method getHello = rc.getDeclaredMethod("throwHello",String.class);//能够获取所有的方法,除了继承与实现的接口方法。获取属性是getDeclaredField();
Object str = getHello.invoke(r,"boob")//对象实例和参数。
sout(str);//getHello方法调用完毕。
}
}