关于Bean的问题
来源:3-21 查看容器内对象
调御丈夫
2021-10-30 20:53:58
相关截图:
问题描述:context.getBean(beanName) 这句代码获取的是object Bean对象,该句代码的具体类型不能确定,怎么能用getclass()来直接获取对象的具体类型了?
我记得getClass ()是反射方法!?,它获取类型的具体实现是怎样的?
谢谢老师。
1回答
好帮手慕小小
2021-10-31
同学你好,是在程序运行时通过反射机制来获取并确定对象类型的。
context.getBean(beanName)返回的是Object的对象,getClass()是Object中的方法,用于获取对象的运行时类,即该类对应的Class类型的对象。
context.getBean(beanName).getClass().getName():getClass()方法获取到当前类的Class类对象,再通过类Class类型对象的getName()方法获取到当前类的完整的名称。
反射回顾:
Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。
Java反射的功能是在运行时判断任意一个对象所属的类,在运行时构造任意一个类的对象,在运行时判断任意一个类所具有的成员变量和方法等。
反射章节课程:https://class.imooc.com/course/2086
api官方文档:https://docs.oracle.com/javase/8/docs/api/index.html
api中文文档:https://www.matools.com/api/java8
另外建议同学可将提问部分代码的完整截图上传至问答区。
祝学习愉快~
相似问题