Java基础之反射

反射是在运行时可以动态获取Java类的属性和方法并且可以调用方法和修改属性。
原理是在编译一个新类时生成一个.class文件,里面保存着对应的Class对象。
在类加载相当于Class对象加载。类在第一次使用时才动态加载到JVM。
Class和java.lang.reflect一起对反射提供了支持,reflect主要三个类Field(get,set方法),Method(invoke方法调用与Method对象关联的方法),Constructor(newInstance()创建新对象)用来分别操作这个类的属性,方法和创建新对象。

缺点:
性能开销,因为涉及到动态类型解析,JVM无法对这些代码进行优化,因此反射操作的效率低很多。
全部评论
好奇反射可以做到对私有属性直接操作吗,比如说对属性赋值,不借助set方法而直接赋值
1 回复 分享
发布于 2022-12-26 00:01 湖北

相关推荐

程序员小白条:这比例牛逼,750:1
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-16 12:18
点赞 评论 收藏
分享
评论
5
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务