7
มีวิธีใดบ้างที่จะเรียกใช้วิธีการส่วนตัว
ฉันมีคลาสที่ใช้ XML และการสะท้อนเพื่อส่งคืนObjects ไปยังคลาสอื่น โดยปกติวัตถุเหล่านี้เป็นฟิลด์ย่อยของวัตถุภายนอก แต่บางครั้งมันเป็นสิ่งที่ฉันต้องการสร้างได้ทันที ฉันลองอะไรแบบนี้ แต่ก็ไม่มีประโยชน์ ฉันเชื่อว่าเป็นเพราะ Java ไม่อนุญาตให้คุณเข้าถึงprivateวิธีการไตร่ตรอง Element node = outerNode.item(0); String methodName = node.getAttribute("method"); String objectName = node.getAttribute("object"); if ("SomeObject".equals(objectName)) object = someObject; else object = this; method = object.getClass().getMethod(methodName, (Class[]) null); หากวิธีการที่ให้มันล้มเหลวด้วยprivate NoSuchMethodExceptionฉันสามารถแก้มันได้โดยการทำวิธีpublicหรือทำให้คลาสอื่นได้มาจาก เรื่องสั้นสั้นฉันแค่สงสัยว่ามีวิธีการเข้าถึงprivateวิธีการสะท้อน
146
java
reflection
private