public class a_1 {
public static void main(String args[]) throws ClassNotFoundException {
gg();
} //获取类中的方法
public static void gg() throws ClassNotFoundException {
Class<?> c=Class.forName("reflect.com.Son");
System.out.println(c.isInterface());
//拿到所有的超类的公共方法
Method m[]= c.getMethods();
for(Method mm:m)
System.out.println(mm);
System.out.println("-------------");
//获取该类的所有父类接口
Class<?> m1[]= c.getInterfaces();
for(Class<?> mm:m1)
System.out.println(mm);
System.out.println("-----------------");
//获取超类
System.out.println(c.getSuperclass());
//获取构造方法
System.out.println("---------------");
Constructor<?>[]cons= c.getConstructors();
for(Constructor <?> con:cons)
System.out.println(con);
//获取所有的公共属性
System.out.println("----------");
Field f[]= c.getFields();
for(Field con:f)
System.out.println(con);
//获取当前类的所有方法,或取属性,构造同理
System.out.println("-------------");
Method m2[]= c.getDeclaredMethods();
for(Method mm:m2)
System.out.println(mm);
System.out.println("------------");
//获取当前反射所代表的对象实例
Object o= c.newInstance();
Son s1=(Son)o;
s1.f();
}
}