package Administrate;
public class okjbvc {
private String name;
private int age;
private String G;
public okjbvc(){
}
private okjbvc(String name,int age,String G){
setName(name);
setAge(age);
setG(G);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getG() {
return G;
}
public void setG(String g) {
G = g;
}
}
package Administrate
import java.io.File
import java.lang.reflect.Constructor
import java.lang.reflect.Field
import java.lang.reflect.InvocationTargetException
import java.lang.reflect.Method
import java.lang.String
import java.util.Calendar
import javax.activation.FileDataSource
public class Test {
public static void main(String[] args){
Class cla
try {
//第二种写法:根据class路径获取
cla = Class.forName("Administrate.okjbvc")
//获取该类所有属性
Field[] field = cla.getDeclaredFields()
System.out.println("属性")
for (Field F : field) {
System.out.println(F)
}
System.out.println("set/get封装")
//获取该类所有set/get封装
Method[] Method = cla.getDeclaredMethods()
for (Method M : Method) {
System.out.println(M)
}
System.out.println("构造方法")
//获取该类所有构造方法
Constructor[] Constructor = cla.getDeclaredConstructors()
for (Constructor C : Constructor) {
System.out.println(C)
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
try {
Class cla1=Class.forName("Administrate.okjbvc")
Constructor Const=cla1.getDeclaredConstructor(String.class,int.class,String.class)
Const.setAccessible(true)
okjbvc ok=(okjbvc)Const.newInstance("你我他",88,"岁")
System.out.println(ok.getName()+ok.getAge()+ok.getG())
okjbvc o = new okjbvc()
Field Field=cla1.getDeclaredField("name")
Field.setAccessible(true)
Field.set(o, "你我他")
System.out.println(o.getName())
Method ME=cla1.getMethod("setName", String.class)
ME.invoke(o, "oo")
System.out.println(o.getName())
} catch (ClassNotFoundException e) {
System.out.println("找不见的类路径")
e.printStackTrace()
} catch (NoSuchMethodException e) {//调用不到方法
e.printStackTrace()
} catch (SecurityException e) { //安全异常
e.printStackTrace()
} catch (InstantiationException e) {//实例化异常
e.printStackTrace()
} catch (IllegalAccessException e) {//非法访问异常
e.printStackTrace()
} catch (IllegalArgumentException e) {//非法论点异常
e.printStackTrace()
} catch (InvocationTargetException e) {//调用目标异常
e.printStackTrace()
} catch (NoSuchFieldException e) {
e.printStackTrace()
}
}
}