java基础之反射

反射

是一种底层技术. 通常用于底层框架的编写

类对象-Class

  • 类对象:是类加载的产物,存放着类的所有信息(如: 属性、方法、构造、父类信息、接口信息等)。 通常只有一个

  • 类的对象:是类实例化的产物,存放着对象的具体信息,可以存在多个

获取
  1. 引用名.getClass()

    //创建学生对象        Student stu = new Student();        //获取类对象        Class c1 = stu.getClass();
    
  2. 类名.class

    Class c2 = Student.class;
    
  3. Class.forName(“全限定名”)

    

  1. Class c3 = Class.forName("com.by.entity.Student");
    • forName()需要处理非运行时异常

构建类的对象
  1. 类的对象 newInstance(): 通过无参构造构建类的实例

    //无泛型的类对象-构建类的实例 Student student1 = (Student) c1.newInstance(); //有泛型的类对象-构建类的实例 Student student2 = c2.newInstance();
    
  2. 利用有参构造获取类的实例

    • Constructor getDeclareConstructor(参数列表的类对象): 获取类对象中的有参构造器对象

      • 构造器对象.newInstance(实参列表): 构建类的实例对象

    Constructor con = c3.getDeclaredConstructor(String.class, int.class, double.class);        //利用有参构造器获取类的实例对象        Student student3 = con.newInstance("张三", 20, 88.5);
    

你可能感兴趣的:(java,java,开发语言)