儘管 Java 對透過反射存取私有方法有限制,但還是有一個解決方案可以克服這個限制。要透過反射呼叫私有方法,可以利用以下方法:
首先,使用 getDeclaredMethod(String methodName) 而不是 getMethod(String methodName) 來取得 私有方法。此方法允許存取當前類別中聲明的公共和私有方法。
然後,為了規避私有方法的預設存取限制,請使用 setAccessible(booleanaccessible) 方法來授予可存取性。透過將accessible設為true,您可以覆寫保護設定並允許呼叫私有方法。
最後,使用invoke(Object object, Object...args)以及所需的物件和任何所需的物件來呼叫私有方法
這是原始問題中提供的程式碼的更新版本:
注意事項:
以上是儘管有存取限制,如何在 Java 中使用反射呼叫私有方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!