从“0”开始,自学笔记(6)java的反射机制具体实现方法

目录

1 获取成员变量

2 获取构造方法

3 获取方法

4 获取类名

5 获取接口

6 获取包名

7 获取父类

8 判断注解



1 获取成员变量

返回值方法名称描述
FieldgetField(String name)获取 public 修饰的指定名称的成员变量。
Field[]getFields()获取 public 修饰的所有成员变量。
FieldgetDeclaredField(String name)获取指定名称的成员变量,不受修饰符限制。
Field[]getDeclaredFields()获取所有成员变量,不受修饰符限制。
Objectget(Object obj)通过成员变量获取指定对象的值
voidset(Object obj, Object value)通过成员变量设置指定对象的成员变量值
setAccessible(true);默认为false;true则忽略成员变量访问修饰符的安全检查

2 获取构造方法

返回值方法名称描述
Constructor<T>getConstructor(Class<?>… parameterTypes)获取 public 修饰的指定参数的构造方法(可以不指定参数,也就是获取无参构造)
Constructor<?>[]getConstructors()获取 public 修饰的所有构造方法
Constructor<T>getDeclaredConstructor(Class<?>… parameterTypes)获取指定参数的构造方法,不受修饰符限制。(可以不指定参数,也就是获取无参构造)
Constructor<?>[]getDeclaredConstructors()获取所有构造方法,不受修饰符限制。
newInstance()通过构造方法创建此 Class 对象所表示的类的一个新实例
setAccessible(true);默认为false;true则忽略构造方法访问修饰符的安全检查

3 获取方法

返回值方法名称描述
MethodgetMethod(String name, Class<?>… parameterTypes)获取public修饰的指定名称的方法
Method[]getMethods()获取 public 修饰的所有方法
MethodgetDeclaredMethod(String name, Class<?>… parameterTypes)获取指定名称的方法,不受修饰符限制。
Method[]getDeclaredMethods()获取所有方法,不受修饰符限制。
Objectinvoke(Object obj, Object… args)通过对象和有参数或无参数执行方法并返回其方法对象
StringgetName()通过方法对象获取方法名
setAccessible(true);默认为false;true则忽略方法访问修饰符的安全检查

4 获取类名

返回值方法名称描述
StringgetName()通过类对象获取全类名

5 获取接口

返回值方法名称描述
Class<?>[]getInterfaces()确定此对象所表示的类或接口实现的接口。
booleanisInterface()判断是否是一个接口类型

6 获取包名

返回值方法名称描述
PackagegetPackage()获取类所在包名(不含类本身)

7 获取父类

返回值方法名称描述
Class<? super T>getSuperclass()获取表示此 Class 所表示的实体(类、接口、基本类型或 void)的超类的 Class

8 判断注解

返回值方法名称描述
booleanisAnnotationPresent(Class<? extends Annotation> annotationClass)如果指定类型的注释存在于此元素上,则返回 true,否则返回 false。


————————————————
版权声明:本文为CSDN博主「何学长在奔跑」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44170221/article/details/106455618

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值