zoukankan      html  css  js  c++  java
  • java 反射机制 之 getConstructor获取有参数构造函数 然后newInstance执行有参数的构造函数

    引用了这篇文章:https://blog.csdn.net/qq_35146878/article/details/78503997

    文件结构:

     Person:

     1 package demo2;
     2 public class Person {
     3     private int age;
     4     private String name;
     5  
     6     public Person( String name,int age) {
     7         this.age = age;
     8         this.name = name;
     9         System.out.println("构造函数Person(有参数)执行");
    10     }
    11  
    12     public Person() {
    13         System.out.println("构造函数Person(无参数)执行");
    14     }
    15     
    16 }

    Main:

     1 package Main;
     2  
     3 import java.lang.reflect.Constructor;
     4  
     5 public class Main {
     6     public static void main(String[] args)  throws Exception{
     7  
     8         //当我不想 newInstance初始化的时候执行空参数的构造函数的时候
     9         //可以通过字节码文件对象方式 getConstructor(paramterTypes) 获取到该构造函数
    10         String classname="demo2.Person";
    11         //寻找名称的类文件,加载进内存 产生class对象
    12         Class cl=Class.forName(classname);
    13         //获取到Person(String name,int age) 构造函数
    14         Constructor con=cl.getConstructor(String.class,int.class);
    15  
    16         //通过构造器对象 newInstance 方法对对象进行初始化 有参数构造函数
    17         Object obj=con.newInstance("神奇的我",12);
    18     }
    19 }

    运行结果:

  • 相关阅读:
    word设置的密码忘了怎么办?
    Navicat Report Viewer 设置 HTTP 的方法
    如何处理Navicat Report Viewer 报表
    excel密码忘记了怎么办
    Beyond Compare文本比较搜索功能详解
    Popular Cows POJ
    Problem B. Harvest of Apples HDU
    网络流模型整理
    The Shortest Statement CodeForces
    Vasya and Multisets CodeForces
  • 原文地址:https://www.cnblogs.com/zhangzhongkun/p/14752314.html
Copyright © 2011-2022 走看看