ฉันมีคลาสที่ใช้ XML และการสะท้อนเพื่อส่งคืนObject
s ไปยังคลาสอื่น
โดยปกติวัตถุเหล่านี้เป็นฟิลด์ย่อยของวัตถุภายนอก แต่บางครั้งมันเป็นสิ่งที่ฉันต้องการสร้างได้ทันที ฉันลองอะไรแบบนี้ แต่ก็ไม่มีประโยชน์ ฉันเชื่อว่าเป็นเพราะ 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
วิธีการสะท้อน