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 }

    运行结果:

  • 相关阅读:
    人月神话阅读笔记
    12周总结
    IOS成长之路-用NSXMLParser实现XML解析
    沟通能力的表达
    IOS中UIScrollView的contentSize、contentOffset和contentInset属性
    Block 的使用时机
    drawAdapter
    drawpoly()函数的用法
    @synchronized(self)
    Swift2
  • 原文地址:https://www.cnblogs.com/zhangzhongkun/p/14752314.html
Copyright © 2011-2022 走看看