Java反射机制是在运行状态中,对于任意一个类 ,都能够知道这个类的属性和方法,对于任意一个对象,都能调用这个类的任意属性和方法,这种动态获取信息
和动态调用对象方法的功能称作Java放射机制。
java反射机制需要的api : Reflection、Class、Package、Constructor、Field 、Method
获取Clas object的两种方式
1、getClass()
Car c=new Car();
Class c=c.getClass();
2、forName()
Class c=Class.forName(str);
获取Package object:
Class c=Class.forName(str);
c.getPackage();
获取Constructor
Class c=Class.forName(str);
1、 Constructor[] constructor=c.getConstructor()
2、Constructor constructor=c.getConstructor(Class<Car>....parameterType);
获取Field
getField(String name) getFields() getDeclaredField(String name) getDeclaredFields()
获取Method
getMethods() getDeclaredMethod() getMethod() getDecalaredMethods();
method对象的调用
Method.invoke(Class class,method);