反射的根源:Class对象
获得一个Class对象的三种方法:
Class clz=类名.class;
Class clz=Class.forName("类的完全限定名");
Student s=new Student();
Class clz=s.getClass;
反射类的属性:
getFilds();
返回超类以及本类中定义的公有的属性构成的对象数组;
getFild(参数);
返回超类以及本类中定义的公有的指定的属性构成的对象;
getDeclaredFilds();
返回本类中公有的或私有的属性构成的对象数组;
getDeclaredFild(参数);
返回本类中公有的或私有的指定的属性构成的对象;
反射类的函数:
getMethods();
返回超类或本类种公有的方法构成Method的对象数组;
getMethod(参数,参数);
返回超类或本类种公有的指定方法构成Method的对象;
getDeclaredMethods();返回本类种公有的或私有的指定方法构成Method的对象数组;
getDeclaredMethod(参数,参数);
返回本类种公有的或私有的指定方法构成Method的对象;
反射类的构造方法:getConstructors();
返回本类中所有的公有的构造方法的一个对象数组;
getConstructor(可变参数);
返回类中指定参数列表的一个构造方法对象;
java.lang.reflect:
所有的反射的API都在此包中。(Method,Field,Constructors)
可变参数:
当参数的类型确定而参数的个数不确定时,会用到可变参数;