javaSe-反射2
//创建实体类
package com.java.chap07.sec03;
public class Student {
private String name;
private Integer age;
public Student(String name) {
super();
this.name = name;
}
public Student(String name, Integer age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public void say(){
System.out.println("我的姓名:"+name);
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}
}
package com.java.chap07.sec03;
import java.lang.reflect.Constructor;
public class Test1 {
public static void main(String[] args) {
Class<?> c=null;
try {
c=Class.forName("com.java.chap07.sec03.Student");//根据类路径获得Class
System.out.println(c.getName());
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Constructor<?> cons[]=c.getConstructors();//得到所有的构造方法
for(Constructor<?> con:cons){
System.out.println("构造方法:"+con);
}
Method mds[]=c.getMethods();//得到所有的方法
for(Method m:mds){
System.out.println("方法:"+m);
}
Field fs[]=c.getDeclaredFields();//得到所有的属性
for(Field f:fs){
System.out.println("属性:"+f);
}
}
}