反射深入 通过反射中的Consrtuctor类调用有参构造方法 普通方法Method
来源:互联网 发布:dtxmania软件下载 编辑:程序博客网 时间:2024/05/29 13:36
package cn.com.mooc.study1;
import java.lang.reflect.*;
/*
* 反射深入 通过反射中的Consrtuctor类调用有参构造方法 普通方法Method
*/
public class ConstructorReflect {
public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
Class<?> cls=Class.forName("cn.com.mooc.study1.Person4");
Constructor<?> con=cls.getConstructor(String.class,int.class);
Object obj=con.newInstance("aa",21);
Person4 per=(Person4)obj;
System.out.println(per);
String str="name";
String str1="age";
Method setmethod1=cls.getMethod("set"+Capicity(str),String.class);
Method setmethod2=cls.getMethod("set"+Capicity(str1),int.class);
Method getMethod1=cls.getMethod("get"+Capicity(str));
Method getMethod2=cls.getMethod("get"+Capicity(str1));
setmethod1.invoke(obj, "bb");
setmethod2.invoke(obj,22);
System.out.println(getMethod1.invoke(obj));
System.out.println(getMethod2.invoke(obj));
}
public static String Capicity(String s)
{
return s.substring(0,1).toUpperCase()+s.substring(1);
}
}
class Person4
{
private String name;
private int age;
public Person4(){};
public Person4(String name)
{
this.name=name;
}
public Person4(String name,int age)
{
this.name=name;
this.age=age;
}
@Override
public String toString()
{
return "姓名:"+this.name+",年龄:"+this.age;
}
public void setName(String name)
{
this.name=name;
}
public void setAge(int age)
{
this.age=age;
}
public int getAge()
{
return this.age;
}
public String getName()
{
return this.name;
}
}
import java.lang.reflect.*;
/*
* 反射深入 通过反射中的Consrtuctor类调用有参构造方法 普通方法Method
*/
public class ConstructorReflect {
public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
Class<?> cls=Class.forName("cn.com.mooc.study1.Person4");
Constructor<?> con=cls.getConstructor(String.class,int.class);
Object obj=con.newInstance("aa",21);
Person4 per=(Person4)obj;
System.out.println(per);
String str="name";
String str1="age";
Method setmethod1=cls.getMethod("set"+Capicity(str),String.class);
Method setmethod2=cls.getMethod("set"+Capicity(str1),int.class);
Method getMethod1=cls.getMethod("get"+Capicity(str));
Method getMethod2=cls.getMethod("get"+Capicity(str1));
setmethod1.invoke(obj, "bb");
setmethod2.invoke(obj,22);
System.out.println(getMethod1.invoke(obj));
System.out.println(getMethod2.invoke(obj));
}
public static String Capicity(String s)
{
return s.substring(0,1).toUpperCase()+s.substring(1);
}
}
class Person4
{
private String name;
private int age;
public Person4(){};
public Person4(String name)
{
this.name=name;
}
public Person4(String name,int age)
{
this.name=name;
this.age=age;
}
@Override
public String toString()
{
return "姓名:"+this.name+",年龄:"+this.age;
}
public void setName(String name)
{
this.name=name;
}
public void setAge(int age)
{
this.age=age;
}
public int getAge()
{
return this.age;
}
public String getName()
{
return this.name;
}
}
0 0
- 反射深入 通过反射中的Consrtuctor类调用有参构造方法 普通方法Method
- JAVA反射调用无参构造、有参构造、普通方法、成员操作
- 通过反射调用类中的方法
- 通过反射调用类中的方法
- 通过反射调用其他类中的方法
- 通过反射去获取有参构造方法并使用
- 通过反射调用Dll中的方法
- 通过反射访问构造方法
- 反射-通过反射获取无参构造方法并使用
- 反射-通过反射获取带参构造方法并使用
- 通过JAVA的反射调用类中的公有私有方法
- 如何通过反射调用类中的<泛型>方法
- 反射 --- 成员方法Method类的反射
- 如何通过反射来调用类方法
- 通过反射调用类内部的方法
- 通过反射调用类里面的方法
- 如何通过反射调用方法?
- 通过Java反射调用方法
- Python--tile函数简单介绍
- 数据结构知识点复习——线性表
- InetAddress类的一些常用方法-tcp/ip协议知识体系
- java今后方向笔记
- PAT甲 1048. Find Coins (25)
- 反射深入 通过反射中的Consrtuctor类调用有参构造方法 普通方法Method
- 嵌入式实时操作系统μC/OS-II原理及应用(1)
- XML解析-Dom4j和jdom(四)
- codeforces 666A (DP)
- PAT甲 1046. Shortest Distance (20)
- 第1章 部署虚拟环境安装linux系统。
- Linux命令——crontab命令
- 【C】C语言中的字符串操作函数
- 算法导论(1)