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反射方式创建实例内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于thymeleaf判断对象是否为空的相关逻辑处理

    关于thymeleaf判断对象是否为空的相关逻辑处理

    这篇文章主要介绍了关于thymeleaf判断对象是否为空的相关逻辑处理,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • JAVA 对数组进行初始化填充的方法示例

    JAVA 对数组进行初始化填充的方法示例

    这篇文章主要介绍了JAVA 对数组进行初始化填充的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • SpringCloud全局过虑器GlobalFilter的用法小结

    SpringCloud全局过虑器GlobalFilter的用法小结

    这篇文章主要介绍了SpringCloud全局过虑器GlobalFilter的使用,全局过虑器使用非常广泛,比如验证是否登录,全局性的处理,黑名单或白名单的校验等,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • 使用java批量写入环境变量的实现

    使用java批量写入环境变量的实现

    本文主要介绍了使用java批量写入环境变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • Java 使用反射调用jar包中的类方式

    Java 使用反射调用jar包中的类方式

    这篇文章主要介绍了Java 使用反射调用jar包中的类方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • mybatisplus中返回Vo的案例讲解

    mybatisplus中返回Vo的案例讲解

    这篇文章主要介绍了mybatisplus中返回Vo的案例,mybatisplus内置的几个方法使用泛型限制了方法的返回类型,所以实现返回Vo还是得自定义方法, 这个方法名尽量不要和原有的名字类似,本文通过实例代码给大家详解讲解,需要的朋友可以参考下
    2023-03-03
  • 使用Eclipse开发工具如何解决Java Compiler中Annotation Processin不出现的问题

    使用Eclipse开发工具如何解决Java Compiler中Annotation Processin不出现的问题

    这篇文章主要介绍了使用Eclipse开发工具如何解决Java Compiler中Annotation Processin不出现的相关资料,需要的朋友可以参考下
    2015-11-11
  • SpringBoot做junit测试的时候获取不到bean的解决

    SpringBoot做junit测试的时候获取不到bean的解决

    这篇文章主要介绍了SpringBoot做junit测试的时候获取不到bean的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • java调用相互依赖的dll的处理方法

    java调用相互依赖的dll的处理方法

    大家好,本篇文章主要讲的是java调用相互依赖的dll的处理方法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Spring实现IoC的多种方式小结

    Spring实现IoC的多种方式小结

    本篇文章主要介绍了Spring实现IoC的多种方式小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论