• java的反射机制


    1. 什么是反射

      反射就是java类中的各个部分:构造方法,成员变量,方法。 映射成一个个的java对象。即在运行状态,对于任意一个类,都能够知道这个类的所有属性和方法,并且可以调用这个类的属性和方法

    2. Class类

      想要使用反射,需要先获取操作类对应的Class对象。Class对象是由jvm加载 .class文件创建的。在Class对象中我们可以获取该类的许多基本信息

    3. 获取Class对象的3种方式

            Class dog = Dog.class;
            dog = Class.forName("com.dujie.exercise.bean.Dog");
            dog = new Dog().getClass();

    4. 简单操作

            Class<Dog> clazz = Dog.class;
            
            //获取公共的无参构造器
            Constructor<Dog> dogCon = clazz.getConstructor();
            Dog dog = dogCon.newInstance();
            //获取私有的构造器
            Constructor<Dog> dogCon2 = clazz.getDeclaredConstructor(String.class, int.class);
            dogCon2.setAccessible(true);//暴力反射
            
            Method setName = clazz.getMethod("setName", String.class);
            setName.invoke(dog, "DOG");
            
            Field name = clazz.getDeclaredField("name");
            name.setAccessible(true);
            System.out.println(name.getGenericType());
            System.out.println(name.getGenericType().equals(String.class));
  • 相关阅读:
    如何获取下拉框中的值
    如何建立主从服务器
    hibernate
    Python基础(一)
    python2 与 python3 区别
    canvas简述(二)游戏实战思路
    canvas简述(一)
    C简述(二)
    C语言的基本简述
    Js基础(三) WebAPI
  • 原文地址:https://www.cnblogs.com/zhangzonghua/p/12837885.html
Copyright © 2020-2023  润新知