2
可有人請詳細說明這一點,並解釋了兩種方法之間的差異,區別時/你爲什麼會想使用一個比其他Java反射:的getMethods()和getDeclaredMethods()
可有人請詳細說明這一點,並解釋了兩種方法之間的差異,區別時/你爲什麼會想使用一個比其他Java反射:的getMethods()和getDeclaredMethods()
getDeclaredMethods
包括所有方法均由類本身聲明,而getMethods
僅返回公共方法,但也返回從基類繼承的方法(此處來自java.lang.Object
)。
The Javadoc本來會告訴你的。
「也」可能暗示'getMethods'返回從'getDeclaredMethods'返回的附加元素,這不是必須的。值得一提的是'getMethods'忽略了非公有方法。 – Pshemo
你讀過javadoc嗎? – assylias
這一切都在Javadoc。 'getMethods':「返回一個包含Method對象的數組,該對象反映了由此Class對象表示的類或接口的所有公共方法,包括由類或接口聲明的以及從超類和超接口繼承的那些方法。 'getDeclaredMethods':「返回一個包含Method對象的數組,該對象反映了由該Class對象表示的類或接口的所有已聲明方法,包括public,protected,default(package)訪問和private方法,但不包括繼承方法。 –