Java 反射经常使用 API(一)

    Java反射功能一会儿让Java语言灵活了起来,可是其中一些经常使用的API却容易记混,如getDeclaredField()与getField(),getDeclaredField()与getDeclaredFields(),看起来差很少,实际使用仍是有必定的差异的,下面咱们就来看看到底有什么区别: java


getDeclaredField(String name)

    返回一个在类或接口中声明的成员属性的映射对象,参数name指定了成员属性的名称 数组

    注意:该方法能够获取私有成员属性的映射对象,可是不能获取继承的成员属性的映射对象 spa

    
getDeclaredFields()

    返回一个在类或接口中声明的全部成员属性的映射对象的数组 code

    注意:访问限定符为public,protected,default access,private的成员属相的映射对象都会被返回,可是继承的成员属性除外,而且返回数组中的对象是无序且不分类的。 orm


getField(String name)

    返回一个在类或接口中声明的公有(public)成员属性的映射对象,包括从父类或父接口中继承的成员属性,参数name指定了成员属性的名称 对象


getFields()
    返回一个在类或接口中声明的全部公有(public)成员属性的映射对象的数组,包括从父类或父接口中继承的成员属性



Class API 全部成员属性 继承成员属性 私有成员属性
getDeclaredField()
getField()
getDeclaredFields()
getFields()

    

    上面都是获取成员属性的API,其实获取成员方法的API与获取成员方法的API是相似的,出了方法名称有差异外,  继承


Class API 全部成员方法 继承成员方法 私有成员方法
getDeclaredMethod()
getMethod()
getDeclaredMethods()
getMethods()


Class API 全部构造方法 继承构造方法 私有构造方法
getDeclaredConstructor() \
getConstructor() \
getDeclaredConstructors() \
getConstructors() \
相关文章
相关标签/搜索