zoukankan      html  css  js  c++  java
  • 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});

  • 相关阅读:
    【转】Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件-十有三博客
    jfinal undertow项目集成JDK做成系统服务
    【转】解决undertow多个https证书的web项目部署问题
    说说 C# 9 新特性的实际运用
    php RSA加解密
    mscomm控件使用详解 转
    VB中让listview自动调整列宽
    QueryPerformanceFrequency使用方法--Windows高精度定时计数
    VB6鼠标滚轮插件
    Microsoft Visual C++ 6.0快捷键(绝对值得掌握)
  • 原文地址:https://www.cnblogs.com/suixue/p/5778915.html
Copyright © 2011-2022 走看看