反射获取构造方法

获取所有构造方法,获取指定单参构造方法(指定类型为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

 

posted @   逍遥天地间  阅读(1188)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示