使用java反射机制对一个类的操作
首先我们要知道java的反射机制最重要的就是让java语言有了一定的动态性
- 所谓的动态性就是: 在程序的运行期间程序的结构可以发生改变
注意: java是一门静态语言,java反射机制只是让java可以被称之为准动态语言
那么我们要知道java反射机制对一个类的操作,我们就可以对比学习
首先我们看看在使用反射之前,也就是一般的反射下我们对一个类可以有什么样的操作:
- 这里我们以Person类为例(假设Person类就是我们创建的一个自定义类)
- 首先 : 我们可以使用可以调用到的非私有构造器来创建Person类的对象
- 我们可以通过创建的Person类的对象来调用其内部的属性和方法(但是这里注意,没有权限的成员是调用不到的)
- 在Person类的外部,不可以通过Person类的对象调用其内部的私有结构
- 这里的私有结构包括了 : 私有成员方法, 私有构造器 , 私有属性
而我们在使用反射的情况下对一个类可以有如下的操作:
- 这里我们也是以Person类为例
- 我们通过反射的方式也可以创建Person类的对象
- 我们使用反射也可以调用到某个Person类对象内部的属性和方法
- 在Person类的外部,我们可以通过反射的方式调用Person类中定义的所有结构(包括私有结构)
- 也就是包括私有成员方法,私有构造器,私有属性通过反射的方式都可以调用到