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);