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() \
相關文章
相關標籤/搜索