java反射方式创建代码详解

 更新时间:2021年01月27日 14:10:29   作者:小妮浅浅  
在本篇文章里小编给大家整理的是一篇关于java反射方式创建代码详解内容,对此有兴趣的朋友们可以学习下。

在谈到实例的时候,很多人对这个概念还不能说出所以然。其实实例就是一个具体的对象,像我们之前学习的类、数组都可以创建实例。反射相对而言也是比较抽象的概念,所以我们是能够把它实例化的。下面简单对实例进行了解,然后分别带来无参和有参的反射实例实例化方法。

1.实例说明

new 一个对象是实例,可以把这个new出来的对象叫做实例,说白了就是这个new出来的“东西”,叫它对象也可以,叫它实例也可以,对象和实例在这个角度上来讲是等价的。

2.创建空参的实例

使用Class对象的newInstance()方法来创建Class对象对应类的实例。

//原始:new的时候,先根据被new的类的名称找寻该类的字节码文件,并加载进内存,

//并创建该字节码文件对象,并接着创建该字节文件对应的Person对象。

Person p = new Person();
//反射:找寻该类的名称,并加载进内存,并产生Class对象
//在产生类的对象
Strint className = "com.example.hgx.Person";
Class clazz = Class.forName(className);
Object obj = clazz.newInstance();

3.创建带参数的实例

这时要通过Class对象获取指定的Constructor对象,再调用Constructor对象的newInstance()方法来创建实例。

class Person {
    public String name;
    private int age;
    public Person(String name, int age) {
      this.name = name;
      this.age = age;
    }
  }
//获取Person类带一个(String,int)参数的构造器
Strint className = "com.example.hgx.Person";
Class clazz = Class.forName(className);
Constructor constructor = clazz.getConstructor(String.class,int.class);

内容扩展:

反射定义

反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有属性和方法。

反射的作用

  • 在运行时判断任意一个对象所属的类。
  • 在运行时判断任意一个类所具有的成员变量和方法。
  • 在运行时任意调用一个对象的方法
  • 在运行时构造任意一个类的对象

到此这篇关于java反射方式创建代码详解的文章就介绍到这了,更多相关java反射方式创建实例内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java下载文件的四种方式详细代码

    Java下载文件的四种方式详细代码

    这篇文章介绍了Java下载文件的四种方式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Java 多线程优先级实例详解

    Java 多线程优先级实例详解

    这篇文章主要介绍了Java 多线程优先级实例详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • 解决Mybatis映射文件mapper.xml中的注释问题

    解决Mybatis映射文件mapper.xml中的注释问题

    这篇文章主要介绍了解决Mybatis映射文件mapper.xml中的注释问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。
    2022-01-01
  • java的io操作(将字符串写入到txt文件中)

    java的io操作(将字符串写入到txt文件中)

    这篇文章主要介绍了java的io操作示例,将字符串写入到txt文件中,需要的朋友可以参考下
    2014-04-04
  • 避免多个jar通过maven打包导致同名配置文件覆盖冲突问题

    避免多个jar通过maven打包导致同名配置文件覆盖冲突问题

    这篇文章主要介绍了避免多个jar通过maven打包导致同名配置文件覆盖冲突问题,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Java矩阵连乘问题(动态规划)算法实例分析

    Java矩阵连乘问题(动态规划)算法实例分析

    这篇文章主要介绍了Java矩阵连乘问题(动态规划)算法,结合实例形式分析了java实现矩阵连乘的算法原理与相关实现技巧,需要的朋友可以参考下
    2017-11-11
  • SpringBoot详细讲解断言机制原理

    SpringBoot详细讲解断言机制原理

    断言Assertion是测试方法中的核心部分,用来对测试需要满足的条件进行验证。这些断言方法都是org.junit.jupiter.api.Assertions的静态方法。检查业务逻辑返回的数据是否合理。所有的测试运行结束以后,会有一个详细的测试报告
    2022-06-06
  • SpringBoot中获取profile的方法详解

    SpringBoot中获取profile的方法详解

    这篇文章主要介绍了springboot获取profile的操作,文中的示例代码讲解详细,具有很好的参考价值,希望对大家有所帮助
    2022-04-04
  • Java通过匿名类来实现回调函数实例总结

    Java通过匿名类来实现回调函数实例总结

    这篇文章主要介绍了Java通过匿名类来实现回调函数的例子,回调函数就是一种函数签名(若干个输入参数、一个输出参数)的规范,java虽不存在函数声明,但是java可以用接口来强制规范。具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。
    2017-08-08
  • SpringBoot集成EasyExcel实现Excel导入的方法

    SpringBoot集成EasyExcel实现Excel导入的方法

    这篇文章主要介绍了SpringBoot集成EasyExcel实现Excel导入的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01

最新评论