反射机制

public class Test {

public static void main(String[] args) throws NoSuchMethodException, Exception {
/**
* 根据构造函数创建对象
*/
Class s[]=new Class[]{String.class,Integer.class};
Constructor<Person> cons=Person.class.getConstructor(s);
Person p=cons.newInstance("bai",10);
System.out.println(p.getName());
/**
* 根据类本身创建默认构造函数的对象
*/
//Person p1=Person.class.newInstance();
Student stu=Student.class.newInstance();
/**
* 调用方法
*/

Method m=Person.class.getMethod("setName", String.class);
m.invoke(p, "nihao");
m=Person.class.getMethod("getName");
System.out.println(m.invoke(p));
/**
* 属性操作
* 更换私有属性的值
*/

Field[] f=Person.class.getDeclaredFields();
f[0].setAccessible(true);
f[0].set(p,"wohao");
System.out.println(m.invoke(p));



}

}

反射机制

上一篇:Finding and Installing a NuGet Package Using the Package Manager Console


下一篇:OJ:约数个数