java通过反射创建反射对象三种的方法

这篇具有很好参考价值的文章主要介绍了java通过反射创建反射对象三种的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言:

代码部分:

computer类:

1.类名.class创建反射对象:

2.对象.getclass创建反射对象:

3.Class.forName("")创建反射对象:


前言:

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。

这里的反理解为反转,控制反转。假如我们需要零花钱就找老婆要,这是“正”。但是现在反过来是老婆主动给我们,这是“反”。虽然最后的结果都一样,都是老婆给我们零花钱,但是方式不一样。程序中以前创建对象是通过new来创建对象,自上而下。但是现在我们可以使用反射技术反过来自下而上的提供访问。反射相关的类都在java.lang.reflect包下。文章来源地址https://www.toymoban.com/news/detail-622009.html

代码部分:

computer类:

package com.dmdd.ioc;

public class Computer {
    private String brand;
    private Cpu cpu;
    private Memory memory;

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public Cpu getCpu() {
        return cpu;
    }

    public void setCpu(Cpu cpu) {
        this.cpu = cpu;
    }

    public Memory getMemory() {
        return memory;
    }

    public void setMemory(Memory memory) {
        this.memory = memory;
    }
    public void start (){
        System.out.println(brand+"品牌的电脑启动了");
        cpu.run();
        memory.read();
        memory.write();
    }
}

1.类名.class创建反射对象:

public static void main(String[] args) {
        Class<Computer> computerClass = Computer.class;
    }

2.对象.getclass创建反射对象:

public static void main(String[] args) {
        Computer computer = new Computer();
        Class<? extends Computer> aClass = computer.getClass();
    }

3.Class.forName("")创建反射对象:

public static void main(String[] args) {
        try {
            Class.forName("com.dmdd.ioc.Computer");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

到了这里,关于java通过反射创建反射对象三种的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java反射:探索对象创建与类信息获取

    🎉欢迎来到Java学习路线专栏~Java反射:探索对象创建与类信息获取 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:Java学习路线 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 🍹文章作者技术和水平有限

    2024年02月09日
    浏览(28)
  • JVM源码剖析之Java对象创建过程

    关于 \\\"Java的对象创建\\\" 这个话题分布在各种论坛、各种帖子,文章的水平参差不齐。并且大部分仅仅是总结 \\\"面试宝典\\\" 的流程,小部分就是copy其他帖子,极少能看到拿源码作为论证。所以特意写下这篇文章。 版本信息如下: 首先把总结图放在这。接下来分析源码~  用一个

    2024年02月12日
    浏览(37)
  • 【JVM】详细解析java创建对象的具体流程

    目录 一、java创建对象的几种方式 1.1、使用new  1.2、反射创建对象 1.2.1、Class.newInstance创建对象 1.2.2、调用构造器再去创建对象Constructor.newInstance  1.3、clone实现 1.4、反序列化 二、创建对象的过程 2.1、分配空间的方式 1、指针碰撞 2、空闲列表 3、怎么选择分配方式 三、

    2024年02月15日
    浏览(47)
  • JVM 创建对象时分配内存的几种方法、分配方法的选择

            假设Java堆中内存是绝对规整的,所有被使用过的内存都被放在一边,空闲的内存被放在另一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那 个指针向空闲空间方向挪动一段与对象大小相等的距离。         如果Java堆中的内存并不是规

    2024年02月10日
    浏览(32)
  • 深入理解JVM:Java使用new创建对象的流程

            ①new 对象         ②反射         ③对象的复制         ④反序列化 先看看常量池里面有没有,如果有,就用常量池的 看这个类有没有被加载过,如果没有,就执行类加载以及类的初始化。(对象的大小,在类加载的时候就确定了)。 对象在堆内存

    2024年02月15日
    浏览(55)
  • Java中的反射(通过反射获取类的结构、invoke方法、获取注解)

    创建运行时类的对象是反射机制应用最多的地方。创建运行时类的对象有两种方式: 方式1:直接调用Class对象的newInstance()方法 要求: 1)类必须有一个无参数的构造器。 2)类的构造器的访问权限需要足够。 方式一的步骤 : 1)获取该类型的Class对象 2)调用Class对象的 new

    2024年02月04日
    浏览(35)
  • java中判断对象类型的三种方法

    instanceof instanceof 是 Java 中的一个,用于判断一个对象是否是指定类型或其子类型的实例。它的使用格式为: 其中, 对象 是待判断的对象, 类型 是要判断的类型。 instanceof 的返回值是一个布尔值,如果对象是指定类型或其子类型的实例,则返回 true ,否则返回

    2024年02月03日
    浏览(33)
  • Java创建List 的三种方法

    1.通过 new ArrayList()  2.  通过Arrays.asList() 这种方法构造出的List是固定长度的,如果调用add方法增加新的元素,会报异常,List是由Array转换而来,而Array是不能动态增加长度的,适合于构造静态不变List. 3.通过hutool工具类collectionUtil创建   list可以动态添加元素,比较友好,适合

    2024年02月11日
    浏览(33)
  • java面试题(21):private修饰的方法可以通过反射访问,那么private的意义是什么?

    1 反射简介 Java,在一个类中,为了不让外界访问到某些属性和方法,通常将其设置为private,用正常的方式(对象名.属性名,对象名.方法名)将无法访问此属性与方法,但有没有其他方法可以访问呢?答案是有的,这就是java反射带来的便利。利用反射访问类的私有属性及方

    2024年01月22日
    浏览(28)
  • Java 创建多线程的三种方法

    在Java中创建多线程,往往都要通过Thread类来实现,今天学习下Java中创建多线程的三种方法[1]。 通过继承 Thread类 实现多线程。 主要方法: 1.void run(), 线程开启后,方法将被调用执行 2.void start(), 使此线程开始执行, Java虚拟机会调用run()方法 实现步骤: 1.定义类,继承 Thread类

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包