获取方式
Class对象的使用
//1.获取Person的Class对象
Class personClass = Person.class;
//2.获取eat方法
Method eat_method = personClass.getMethod("eat", String.class);
//1.获取Person的Class对象
Class personClass = Person.class;
//2.获取构造器对象
Constructor constructor = personClass.getConstructor(String.class,int.class);
3.暴力反射
4.Field对象类
//获取Person的Class对象
Class personClass = Person.class;
//获取name变量的Field对象(该对象为Private对象)
Field field = personClass.getDeclaredField("name");
//设置暴力反射
field.setAccessible(true);
//获取person对象的name属性
Person person = new Person("张三",20);
Object value = field.get(person);
System.out.println(value); //张三
//设置person对象的name属性为李四
field.set(person, "李四");
System.out.println(person); //Person{name='李四', age=20}
5.Constructure构造器类-T newInstance(Object...initargets)
//获取Person类的Constructor对象(有参)
Constructor<Person> personConstructor = Person.class.getConstructor(String.class,int.class);
//调用newInstance方法创建person对象
Person person = personConstructor.newInstance("王五", 25);
System.out.println(person); //Person{name='王五', age=25}
6.Method方法类-Object invoke(Object obj,Obj...args);
//获取Person的Class对象
Class personClass = Person.class;
//获取eat方法(有参)
Method eat_method = personClass.getMethod("eat", String.class);
//创建对象并执行方法
Person p = new Person();
eat_method(p,"饭");
类在计算机中的三个阶段.png (92.81 KB, 下载次数: 17)
论坛只让上传小于1M的图片???
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |