java反射

    xiaoxiao2021-03-25  85

    1. 一个类中有多个组成部分,例如:成员变量,方法,构造方法等。    反射就是加载类,并解剖出类的各个组成部分      1.1  加载类 获得类的字节码             Class.forName("类的完整名称");  返回一个Class对象             Class class = Class.forName("com.qq.Persion");  //抛一个异常

         1.2 加载类  获得类的字节码             Class class = new Persion().getClass();      1.3 加载类  获得类的字节码             Class class =Persion.class; 

    2. 反射类的构造函数,创建类对象

          2.1   调用构造函数创建对象         Class class = Class.forName("com.qq.Persion");   

            Constructor c=class.getConstructor("参数控制想解剖的哪个构造函数");//得到类里面的构造函数

            Persion p=(Persion) c.newInstance("参数");//有创建对象的方法

          2.2 调用构造函数创建对象         Class class = Class.forName("com.qq.Persion");   

            Constructor c=class.getConstructor("String.class");//得到类里面的构造函数  有参 String类型

            Persion p=(Persion) c.newInstance("小明");//有创建对象的方法

          2.3调用构造函数创建对象         Class class = Class.forName("com.qq.Persion");   

            Constructor c=class.getConstructor("String.class,int.class");//得到类里面的构造函数  有参 String类型

            Persion p=(Persion) c.newInstance("小明",12);//有创建对象的方法

          2.4  私有的构造函数  参数为list集合   调用构造函数创建对象         Class class = Class.forName("com.qq.Persion");   

            Constructor c=class.getConstructor("List.class");//得到类里面的构造函数  有参 String类型

            c.setAccessile(true);//私有的东西不能被外界访问,但是在反射里面可以,暴力打开

            Persion p=(Persion) c.newInstance(new ArrayList());//有创建对象的方法      2.5创建对象的另一种形式

            Class class = Class.forName("com.qq.Persion"); 

             Persion p=(Persion) c.newInstance();// 无参 直接创建类对象

           

    3..构造函数的作用:创建对象,完成对象初始化     字段的作用:封装数据     方法的作用:执行某个功能

    
    转载请注明原文地址: https://ju.6miu.com/read-23978.html

    最新回复(0)