创建一个类(等会调用属性,方法,构造器)
class Son {
private int age;
private String name;
private void es() {
System.out.println("es");
}
@Override
public String toString() {
return "Son{" + "age=" + age + ", name='" + name + '\'' + '}';
}
private int getAge() {
int testAge = 22;
return age;
}
private void setAge(int age) {
this.age = age;
}
public String getName() {
String testName = "试试";
return name;
}
public void setName(String name) {
this.name = name;
}
public Son() {}
}
属性
@Test
public void test2() throws Exception {
Class<Son> sonClass = Son.class;
Son son = sonClass.newInstance();
Field age = sonClass.getDeclaredField("age");
age.setAccessible(true);
age.set(son, 100);
System.out.println(age.get(son));
}
方法
@Test
public void test3() throws Exception {
Class<Son> sonClass = Son.class;
Son son = sonClass.newInstance();
Method getAge = sonClass.getDeclaredMethod("setAge", int.class);
getAge.setAccessible(true);
System.out.println(getAge);
Object invoke = getAge.invoke(son, 100);
System.out.println(invoke);
System.out.println("*********");
Class<Son> sonClass1 = Son.class;
Son son1 = sonClass1.newInstance();
Method es = sonClass1.getDeclaredMethod("es");
es.setAccessible(true);
Object invoke1 = es.invoke(son1);
}
构造器
@Test
public void test4() throws Exception {
Class<Son> sonClass = Son.class;
Constructor<Son> declaredConstructor = sonClass.getDeclaredConstructor();
Son son = declaredConstructor.newInstance();
declaredConstructor.setAccessible(true);
}
转载请注明原文地址:https://blackberry.8miu.com/read-3959.html