反射的编程思想
在类的运行期间,通过对class对象的解析,可以获取这个类的属性,方法,构造函数,并执行获取
属性,构造函数和方法,主要用于构建平台和框架
获取class对象的三种方式
1 类名.class
2,对象名.getclass
3,class.forname(包名.类名)
常用第三种,第一种需要导包,依赖强,不导包会报错
第二种已经有对象了还要反射干啥
在使用第三种的时候回有classnotfoundexception的检查异常
getDeclaredFields()获取所有属性
getDeclaredField()获取单个属性
通过暴力访问setAccessible()可以直接访问类中私有的属性
获取方法getDeclaredMethod(方法名,参数类型.class) invoke()执行方法
newInstance()的使用有局限,
因为它生成对象只能调用无参的构造函数
本文深入探讨Java反射机制,介绍如何在运行时获取类的属性、方法和构造函数,重点讲解Class对象的三种获取方式及各自优缺点。同时,文章详细解释了如何使用反射调用私有属性和方法,以及newInstance()的局限性。
2856

被折叠的 条评论
为什么被折叠?



