美文网首页
Java反射中知识点积累

Java反射中知识点积累

作者: 睿丶清 | 来源:发表于2019-03-14 22:39 被阅读0次

getFields()与getDeclaredFields()区别

    getFields()只能访问类中声明为公有的字段,私有的字段它无法访问.

    getDeclaredFields()能访问类中所有的字段,与  public,private,protect无关  

getMethods()与getDeclaredMethods()区别:

    getMethods()只能访问类中声明为公有的方法,私有的方法它无法访问,能访问从其它类继承来的公有方法.

    getDeclaredFields()能访问类中所有的字段,与public,private,protect无关,不能访问从其它类继承来的方法  

getConstructors()与getDeclaredConstructors()区别:

    getConstructors()只能访问类中声明为public的构造函数.

    getDeclaredConstructors()能访问类中所有的构造函数,与public,private,protect无关

setAccessible()方法的使用:

    要序列化的时候,我们又必须有能力去处理这些字段,这时候,我们就需要调用AccessibleObject上的setAccessible()方法来允许这种访问,而由于反射类中的Field,Method和Constructor继承自AccessibleObject,因此,通过在这些类上调用setAccessible()方法,我们可以实现对这些字段的操作。

相关文章

网友评论

      本文标题:Java反射中知识点积累

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