美文网首页
Java反射的实现

Java反射的实现

作者: 沐络 | 来源:发表于2019-08-19 13:34 被阅读0次

一.反射的理解

反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。总结说:反射就是把java类中的各种成分映射成一个个的Java对象,并且可以进行操作。
学习反射之前,先了解一下Java类的执行过程如下图:


加载过程.jpg

Java的反射就是利用上面第二步加载到jvm中的.class文件来进行操作的。.class文件中包含java类的所有信息,当你不知道某个类具体信息时,可以使用反射获取class,然后进行各种操作。

二.使用反射时获取Class对象的方式

1)使用getClass()

    Simple s=new Simple();
    Class c = s.getClass();
  1. 类名.class 的方式得到,该方法最为安全可靠,程序性能更高
Class classz=Simple.class;

3)通过 Class 对象的 forName() 静态方法来获取,用的最多

Class c= Class.forName("com.tst.Simple");

三反射的简单实现

public class Simple{

    private int value;

    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value= value;
    }

    public static void main(String[] args) throws Exception{
        //正常的调用
        Simple s= new Simple();
        s.setPrice(5);
        System.out.println("Simple Value:" + s.getPrice());
        //使用反射调用
        Class clz = Simple.class;
        Method m= clz.getMethod("setValue", int.class);
        Constructor simpleConstructor = clz.getConstructor();
        Object simpleObj = simpleConstructor .newInstance();
        m.invoke(simpleObj , 14);
        Method m2= clz.getMethod("getValue");
        System.out.println("Simple value:" + m2.invoke(simpleObj));
    }
}

相关文章

  • b04-2 spring容器相关java知识-反射(精通Spri

    本篇内容: 1、java反射实现 2、java类加载器ClassLoader 3、java反射机制 一、java反...

  • [JAVA学习笔记] 反射机制

    [JAVA学习笔记] 反射机制 Java的反射通过Class类和java.lang.reflect类库实现。通过它...

  • Spring注解原理探索(三)

    之 Java如何识别注解 关键词:Java 反射java.lang.reflect 包,实现反射功能的工具类。注解...

  • 深入理解Java虚拟机三

    一、Java反射的实现原理 1.反射调用的实现 反射是Java语言中一个相当重要的特性,它允许正在运行的Ja...

  • java基础之反射机制,学习spring框架进阶必学!

    理解反射对学习Java框架有很大的帮助,如Spring框架的核心就是使用Java反射实现的,而且对做一些Java底...

  • java反射实例

    理解反射对学习Java框架有很大的帮助,如Spring框架的核心就是使用Java反射实现的,而且对做一些Java底...

  • 反射 — Java 高级开发必须懂的

    理解反射对学习Java框架有很大的帮助,如Spring框架的核心就是使用Java反射实现的,而且对做一些Java底...

  • java反射实现

    java反射为什么比较慢?reflect的性能开销: 变长方法参数导致导致的Object数组 基本类型自动装箱拆箱...

  • Java反射实践

    一、概述 Java的反射机制是Java语言动态性的一种体现。反射机制是通过反射API来实现的,它允许程序在运行过程...

  • Java反射的实现

    一.反射的理解 反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调...

网友评论

      本文标题:Java反射的实现

      本文链接:https://www.haomeiwen.com/subject/zbnjsctx.html