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 }

運行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM