Java核心基础-反射(反射的作用,Class类,获取Class类的方法,加载配置文件的方法,反射的应用1和2)

37 阅读2分钟

day 30 2025.5.6

  1. 反射的作用
    在运行期间,获取类的信息,新建实例,使用方法,获取属性和构造器等.
  2. Class类
    Class类的实例就是.class文件;
    Class类相当于普通类的父类,Class类的实例就是一个普通类.
  3. 获取Class类实例的方法(掌握)
    1. 调用类的class属性.
    2. 调用类的实例的getClass()方法.
    3. 调用Class类的forName(String className)静态方法.
    4. 通过类加载器.
  4. 加载指定配置文件的方法(2种)
    1. 方法1:

      //1. 创建Preporties类的实例
      //2. 通过new FileInputStream,创建输入流
      通过这种方式,文件默认位置路径在module上.
      //3. 加载配置文件 使用PrePorties.load(String pathName)
      //4. 调用方法
      Preporties.setPreporties(String key, String vaule) : 向配置文件中添加键值对.
      Preporties.getPreporties(String key) : 通过键找到value值.

    2. 方法2:

      //1. 创建Preporties类的实例
      //2. 通过ClassLoader,创建输入流
      通过这种方式,文件默认位置路径在module中的src文件夹下.
      //3. 加载配置文件 使用PrePorties.load(String pathName)
      //4. 调用方法
      Preporties.setPreporties(String key, String vaule) : 向配置文件中添加键值对.
      Preporties.getPreporties(String key) : 通过键找到value值.

  5. 反射的应用1:创建运行时类对象
    1. 方法:

      //1. 获取类的Class实例.
      //2. 使用newInstance(),创建实例.

    2. Java bean中为什么要带一个公共的无参构造器?
      1. 子类对象构造器首行默认调用父类无参构造器.(次要)
      2. 在反射中,用来创建运行时类对象.(主要)
    3. 在JDK9及以后,newInstance()被称为过失,那它替换成什么结构了?
      通过Constructor类调用newInstance(参数列表)方法.
  6. 反射的应用2:获取运行时类对象的内部结构
    1. (了解)通过反射,可以获得运行时类对象的所有属性,方法和构造器.
    2. (熟悉)通过反射,可以获得运行时类对象的父类,接口,包,带泛型的父类和父类的泛型.