• java基础之反射机制


    一、概念

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

    二、功能

      (1)在运行时判断任意一个对象所属的类

      (2)在运行时构造任意一个类的对象

      (3)在运行时判断任意一个类所具有的成员变量和方法

      (4)在运行时调用任意一个对象的方法

    注:要想使用反射,首先需要获得待处理类或对象所对应的Class对象

    三、获取Class对象的方式

    获取某个类或某个对象所对应的Class对象的常用的三种方式:

      (a)使用Class类的静态方法forName

        Class.forName("java.lang.String");

      (b)使用类的.class语法

        String.class;

      (c)使用对象的getClass()方法

        String s = "aa";

        Class<?> classTest = s.getClass();

    四、通过类的不带参数的构造方法生成对象

      (1)先获得Class对象,然后通过该Class对象的newInstance()方法直接生成

        Class<?> classType = String.class;

        Object obj = classType.newInstance();

      (2)先获得Class对象,然后通过该对象获得对应的Constructor对象,再通过该Constructor对象的newInstance()方法生成

        Class<?> classType = String.class;

        Constructor cons = classType.getConstructor(new Class[]{});

        Object obj = cons.newInstace(new Object[]{});

    五、通过类不带参数的构造方法生成对象

    只能使用下面一种方式 

       Class<?> classType = String.class;

       Constructor cons = classType.getConstructor(new Class[]{String.class,int.class});

       Object obj = cons.newInstace(new Object[]{"hello",3});

  • 相关阅读:
    Linux 编译kernel有关Kconfig文件详解
    STM32之DMA实例
    容器技术与docker
    老男孩Python全栈学习 S9 日常作业 010
    Centos 7 最小化Fastdfs安装部署
    老男孩Python全栈学习 S9 日常作业 009
    老男孩Python全栈学习 S9 日常作业 008
    service
    Spinner的用法
    控制led灯并显示自己的数值
  • 原文地址:https://www.cnblogs.com/suixue/p/5778915.html
Copyright © 2020-2023  润新知