您好,欢迎访问本站博客!登录后台查看权限
  • 转载文章需要注意是否有转载标识,未经允许谢绝转载
  • 发贴请联系站长提权

快速记住java反射的相关常用方法

java adminXiongmao 2019-08-27 31 次浏览 0个评论
网站分享代码

反射是java中很重要的一部分,通常用于我们构建通用工具、搭建系统框架等使用,我们可以使用反射在程序运行过程中,查看一个类或对象所有的方法和字段。但是反射中成员方法较多,且单词较长,下面来说一下反射部分的记忆规律。

反射大体有三个对象

Constructor(获取构造函数)、Method(获取成员方法)、Field(获取字段)

 

获取的方法规律均为get开头:

获取某一公共无参方法或字段

Class对象.getDeclared对象名()


获取某一私有无参方法或字段

Class对象.get对象名()

 

返回所有方法(除私有)或字段(包括私有)的数组

Class对象.get对象名s()

 

其中构造方法在获取时,无需写方法名,只需要在参数列表传入相应类型的字节码文件即可。

例如:int.class、char.class

clazz.getConstructor(String.class); 


成员方法需要先写方法名,之后按顺序传入相应类型的字节码文件。

clazz.getMethod("setter",int.class,String.class);

 

字段传入字段名即可。

clazz.getField("name");


构造方法及成员方法的常用方法

对象名.getName()                                 返回方法名

 

成员方法及字段的常用方法

需要开启暴力反射的对象名.setAccessible(布尔值);               是否开启暴力反射(开启则可以调用私有方法或字段)

 

构造方法的常用方法

method.newInstance(初始化参数)         创建并初始化对象

 

成员方法的常用方法

field.invoke(对象名,参数)                       调用成员

 

字段的常用方法

set(对象名,参数)                                    为相应字段赋值

 

创建反射的通用步骤

第一步首先就是需要获取字节码文件,有三种方法

Class 对象名=Class.forName(“正名”);

Class 对象名=类名.class;

Class 对象名=对象名.getClass();

 

第二步是通过字节码文件获取构造方法,并生成对象


Constructor 对象名=Class对象名.getConstructor();//获取构造函数

类名 对象名= Constructor对象名.newInstance();//创建对象


可以简化为:类名 对象名= Class对象名.getConstructor().newInstance();


第三步就是进行相应操作。

要记住的是get类操作都是从类的字节码文件对象进行操作的。

而其他操作都是从各自类的对象进行操作的。

 




已有 31 位网友参与,快来吐槽:

发表评论

分享:

支付宝

微信

站点统计