反射获取构造方法

匿名 (未验证) 提交于 2019-12-02 21:52:03

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!