看完学会java反射机制

什么是反射

Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法
jdbc(数据库连接技术)在加载驱动时运用到了反射技术

在这里插入图片描述
例如:实例化对象
第一种:
Person p = new Person()
虚拟机在执行的时候已经确切知道要实例化哪个类的对象

第二种:
反射:虚拟机在实例化对象的时候,可以事先不知道要实例化哪个类的对象,传参的时候虚拟机根据参数确定要实例化哪个类的对象
根据参数不同,虚拟机可以实例化任意类型对象

两种相同点:都是实例化对象,但利用反射实例化对象时更灵活

在这里插入图片描述
在这里插入图片描述
执行Class.forName的时候,类加载器会根据参数fanshe.Person去找这个类
把这个类加载到虚拟机,同时获取这个类的Class对象
每个类都有Class类型的对象
这个对象保存了对应对象的元信息(属性,方法,构造函数)
接下来在调用newInstance方法来实例化对象

在这里插入图片描述

反射优点

动态创建对象(需要创建哪个类的对象,就传哪个类)
在这里插入图片描述

在这里插入图片描述

利用反射技术获取类的信息

利用反射技术获取类的属性、方法、构造函数

获取类的属性和方法
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41150890/article/details/107979900
今日推荐