Java反射基本概念解读

一、Java中Class类(public final class Class<t>{}) 类 类型和我们自定义的类(比如:public class Student{})的关系

  答:比如我们自定义了三个类:public class Person{},public class Student{},public class Teacher{}。这三个类的定义,就是Class类的对象。而Class类是这三个类定义的类型。

 

 

二、通过反射的方式获取类定义对象(也就是Class类的对象)的方式有三种:

  1、Class   = Class.forName("cn.jbit.Student");// 1、获取类定义的第一种方式


  2、Class b = new Student().getClass();// 2、获得类定义的第二种方式


  3、Class c = Student.class;// 3、获取类定义的第三种方式

 

  说明:a、b、c这三个对象,表示类的定义,并不是Student类的对象。

三、Class对象常用的方法之一——获取类中的字段(Field对象)

  1、getFields():获得类定义对象中所有public的字段定义对象Field数组(包括父类中的public,但是protected不包括,自己类的private和protected也不包括);

  2、getDeclaredFields():获得类定义对象中自己的字段(private、protected、public都包括)数组,但是父类中的字段,不管什么访问修饰符,都不包括;

  3、getFields(String name):根据指定的名称获取Field对象,包括的范围同上;

  4、getDeclaredFields(String name):根据指定的名称获取Field对象,包括的范围同上;

 

 

四、Class对象常用的方法之二——获取类中的方法(Method对象)

posted @ 2020-08-07 17:19  FranciseGong  阅读(193)  评论(0编辑  收藏  举报