黑马程序员_java学习笔记六 反射二

来源:互联网 发布:python re findall 编辑:程序博客网 时间:2024/06/05 23:39
---------------------- android培训、java培训、期待与您交流! ----------------------

通过反射机制获得类的属性、方法及相应参数和构造方法及相应参数 ;

import java.lang.reflect.*;  public class BeanInfo {    public static void main(String arg[])throws Exception{        Class clazz = Student.class ;//动态加载类,获取类的class          Field[] fields = clazz.getDeclaredFields();//获取全部属性          Method[] methods = clazz.getDeclaredMethods();//获取全部方法          Constructor[] constructor = clazz.getConstructors() ;//获取全部构造方法        //使用增强for循环输出属性名和其声明类的名字          for (Field f : fields) {              System.out.println("属性名字:" + f.getName() + "属性类型:" + f.getType().getName());          }          for (Method m : methods) {              System.out.println("方法名字"+m.getName() + "参数个数:"+m.getParameterTypes().length);              //输出方法的参数类型              for (Class claz : m.getParameterTypes()) {                  System.out.print(" 参数类型:" + claz.getName());              }          }          System.out.println("");        for(Constructor con:constructor){        System.out.println("构造函数名字:" + con.getName() + "参数个数:" + con.getParameterTypes().length);        //输出构造函数的参数        for(Class class1:con.getParameterTypes()){        System.out.print("参数类型:" + class1.getName());        }        }    }  }  class Student{private String name ;private int age ;public Student(){}public Student(String name,int age ){this.name = name ;this.age = age ;}public void Sport(String string){System.out.println("i like Running");}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;}}
输出结果:

属性名字:name属性类型:java.lang.String
属性名字:age属性类型:int
方法名字Sport参数个数:1
 参数类型:java.lang.String方法名字getAge参数个数:0
方法名字setAge参数个数:1
 参数类型:int方法名字getName参数个数:0
方法名字setName参数个数:1
 参数类型:java.lang.String
构造函数名字:china.adu.demo.Student参数个数:0
构造函数名字:china.adu.demo.Student参数个数:2
参数类型:java.lang.String参数类型:int

---------------------- android培训、java培训、期待与您交流! ----------------------
原创粉丝点击