1.刚刚看Java反射机制,以前一直没有了解,作为一个渣渣终于知道反射机制代码几个参数代表了啥,分享一下,可能很基础哈
创建一个类
package com.pingan.com;
public class RefectDemo {
private String name;
String userName;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String pring() {
System.out.println("aa");
return "cccc";
}
}
}这里插入代码片
开始写反射机制代码测试
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Class refectDemo = Class.forName("com.pingan.com.RefectDemo");
RefectDemo refect = (RefectDemo)refectDemo.newInstance();//实例化
Method method = refectDemo.getDeclaredMethod("pring");//这里呢写方法里,方法没有参数的写法
Method method1 = refectDemo.getDeclaredMethod("setName",String.class);//这里呢写方法里,如果你的方法里还有参数,就应该这么写
method.invoke(refect);
method1.invoke(refect,"aa");//这样呢 aa就set了name的值
System.out.println(refect.getName());
Field fileds = refectDemo.getDeclaredField("userName");//成员变量获取
fileds.set(refect, "cccc");//赋值
System.out.println(refect.getUserName());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}