反射获取构造方法
程序员文章站
2023-11-12 09:06:04
获取所有构造方法,获取指定单参构造方法(指定类型为String): 运行结果: ......
获取所有构造方法,获取指定单参构造方法(指定类型为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