1、反射机制是什么
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。
2、反射机制主要提供了以下功能:
在运行时判断任意一个对象所属的类;
在运行时构造任意一个类的对象;
在运行时判断任意一个类所具有的成员变量和方法;
在运行时调用任意一个对象的方法;
3、get... 和getDeclared....的区别
* getFields() 与 getDeclaredFields() 区别:
getFields() 只能访问类中声明为公有的字段, 私有的字段它无法访问,能访问从其它类继承来的公有方法.
getDeclaredFields() 能访问类中所有的字段, 与 public,private,protect 无关,不能访问从其它类继承来的方法
* getMethods() 与 getDeclaredMethods() 区别:
getMethods() 只能访问类中声明为公有的方法, 私有的方法它无法访问, 能访问从其它类继承来的公有方法.
getDeclaredFields() 能访问类中所有的字段, 与 public,private,protect 无关, 不能访问从其它类继承来的方法
* getConstructors() 与 getDeclaredConstructors() 区别:getConstructors()
getConstructors()只能访问类中声明为 public 的构造函数.
getDeclaredConstructors() 能访问类中所有的构造函数, 与 public,private,protect 无关