java反射

反射的作用

java反射,可以对任何一个类,都可以通过反射来获得这个类的所有属性和方法,

首先创建一个测试类

代码如下:


我们可以通过getDeclaredMethods和getDeclaredFields直接得到这个类的所有方法名称和成员变量名称


可以通过反射创建这个类的实例



我们也可以通过反射来调用私有的方法  在Test添加一个私有方法 run




可以看到正确的输出了

其中方法的作用

getMethods():获取一个类的公共方法,包含从父类继承而来的

getDeclaredMethods():获取一个类的全部方法名(包含私有,但不包含父类)

getFields():获取一个类的公共成员变量名,包含从父类继承而来的

getDeclaredFields(): 获取一个类的全部成员变量名(包含私有,但不包含父类)

getConstructors():获取一个类的公共构造函数,包含从父类继承而来的

getDeclaredConstructors():获取一个类的全部构造函数(包含私有,但不包含父类)

setAccessible(boolean b):取消或者设置访问权限检查

newInstance():创建一个实例

getDeclaredAnnotations():获取一个类的注解

getPackage():获取包所在位置

getClassLoader():获取类加载器

...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本篇文章已授权微信公众号guolin_blog(郭霖)独家发布 转载请注明出处:https://www.jians...
    ming152阅读 6,954评论 4 78
  • 1. 了解 Java 中的反射 1.1 什么是 Java 的反射 Java 反射是可以让我们在运行时获取类的函数、...
    Ten_Minutes阅读 586评论 0 4
  • 问题: 在运行时,对一个JAVA类,能否知道属性和方法;能否调用它的任意方法? 答案是可以的,JAVA提供一种反射...
    糖宝_阅读 806评论 0 1
  • java通常是先有类再有对象,有对象我就可以调用方法或者属性。反射其实是通过Class对象来调用类里面的方法。通过...
    yzw12138阅读 369评论 0 0
  • 类加载机制 1 什么是反射 Java反射机制是在运行状态中对于任意一个类,都能知道这个类的所以属性和方法;对于任何...
    凯玲之恋阅读 13,969评论 3 28

友情链接更多精彩内容