反射——简而言之,就是程序可以访问、检测和修改它本身状态或行为的一种能力
JAVA反射机制主要提供了以下功能:
1)在运行时判断任意一个对象所属的类;
2)在运行时构造任意一个类的对象;
3)在运行时判断任意一个类所具有的成员变量和方法;
4)在运行时调用任意一个对象的方法
反射时JAVA被视为动态语言的一个关键性质,这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息;
包括modifiers(如public、static),superclass(例如Object),实现了的interfaces(例如Serializable),也包括其fields和methods的所有信息,并可于运行时改变fileds内容或调用methods
动态语言的定义
程序在运行时,允许改变程序结构或变量类型