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方法调用完毕。 } }