zoukankan      html  css  js  c++  java
  • Android(java)学习笔记48:通过反射获得带参构造方法并且使用

    1. 反射获得带参构造方法并且使用:

    (1)获取字节码文件对象

          Class c = Class.forName("cn.itcast_01.Person");

    (2)获取带参构造器对象,public Constructor<T> getConstructor(Class<?>... parameterTypes)

         Constructor con = c.getConstructor(String.class ,    int.class ,   String.class);

    (3)通过带参构造器对象创建对象,public T newInstance(Object... initargs)

         Object obj = con.newInstance("林青霞", 27, "北京");

         System.out.println(obj);

    运行效果图和代码如下(下面的Person是另外一个包下的,这里我们访问Person):

     1 package cn.itcast_02;
     2 
     3 import java.lang.reflect.Constructor;
     4 
     5 /*
     6  * 需求:通过反射去获取该构造方法并使用:
     7  * public Person(String name, int age, String address)
     8  * 
     9  * Person p = new Person("林青霞",27,"北京");
    10  * System.out.println(p);
    11  */
    12 public class ReflectDemo2 {
    13     public static void main(String[] args) throws Exception {
    14         // 获取字节码文件对象
    15         Class c = Class.forName("cn.itcast_01.Person");
    16 
    17         // 获取带参构造方法对象
    18         // public Constructor<T> getConstructor(Class<?>... parameterTypes)
    19         Constructor con = c.getConstructor(String.class, int.class,
    20                 String.class);
    21 
    22         // 通过带参构造方法对象创建对象
    23         // public T newInstance(Object... initargs)
    24         Object obj = con.newInstance("林青霞", 27, "北京");
    25         
    26         System.out.println(obj);
    27     }
    28 }
  • 相关阅读:
    python小程序:备份文件
    二叉树非递归后序遍历
    python拷贝文件小程序(windows)
    为什么虚拟 dom 会提高性能?
    shouldComponentUpdate 是做什么的,(react 性能优化是哪个周期函数?)
    react 生命周期函数
    调用 setState 之后发生了什么?
    React 中 keys 的作用是什么?
    Windows下如何更新 node.js
    SVN的Branch和Tag管理
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4565733.html
Copyright © 2011-2022 走看看