java反射机制

作者: 机器不能学习 | 来源:发表于2018-04-16 20:51 被阅读0次

    java的反射多用于框架之中,在此简单了解

    在我看来反射其实是一种手动去加载,相比自动加载important和new和对象.方法名来说,它的却比较麻烦。但是只要你知道一个类的全路径,你就可以知道他的所有信息。甚至,这个类不需要有明确的类型对象,我们也可以使用这个类。


    获得类

    在此介绍两种方法

    1.类名.class  在应用中比较多

    2.forName 在框架映射中很常见

    得到类的对象

    使用forName后,根据构造器类型得到对象

    无参构造器,直接使用newInstance(),得到对象类型直接填object即可

    有参构造器,先得到构造器,再实例。getConstractor(类型类,比如string.class,填入需要的参数即可),得到的类型是Constractor。得到构造器后,用 构造器.newInstance(具体参数,比如"严浩文")。这样就获得了一个对象(相当于new obj(严浩文))


    得到方法

    得到类之后,用 类.getDeclaredMethod(方法名string,参数:类型类) 获得当前类的方法。


    调用方法

    调用invoke,获得方法,对象后。

    方法.invoke(对象,具体参数)

    相当于obj.method(具体参数)


    调用属性

    在获得类和对象以后,可以通过getDeclaredFiles()获得一个类型为Files的属性对象,现在可以对这个对象进行两个操作。放入值:属性对象.set(对象,值),相当于对某个对象的属性设置值。取得值:属性对象.get(对象)。

    相关文章

      网友评论

        本文标题:java反射机制

        本文链接:https://www.haomeiwen.com/subject/ypqykftx.html