反射獲取構造方法


獲取所有構造方法,獲取指定單參構造方法(指定類型為String):

 1 package com.mldn.demo;
 2 
 3 import java.lang.reflect.Constructor;
 4 
 5 class Mail{
 6     private String msg;
 7     public Mail() {}
 8     public Mail(String msg) {
 9         System.out.println("【構造方法】調用Mail類單參構造方法,實例化對象。");
10         this.msg = msg;
11     }
12     @Override
13     public String toString() {
14         return "【toString()覆寫】消息內容:" + this.msg;
15     }
16 }
17 public class JavaReflectDemo {
18     public static void main(String[] args) throws Exception {
19         Class<?> cls = Mail.class;
20         Constructor<?> constructors[] = cls.getDeclaredConstructors();
21         System.out.println("獲取所有父類構造方法:" );
22         for(Constructor<?> con: constructors) {
23             System.out.println(con);
24         }
25         
26         Constructor<?> con = cls.getDeclaredConstructor(String.class);
27         Object object = con.newInstance("www.mldn.com");
28         System.out.println("獲取指定單參構造方法:"+object);
29     }
30 }

運行結果:

獲取所有父類構造方法:
public com.mldn.demo.Mail()
public com.mldn.demo.Mail(java.lang.String)
【構造方法】調用Mail類單參構造方法,實例化對象。
獲取指定單參構造方法:【toString()覆寫】消息內容:www.mldn.com

 


免責聲明!

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



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