我發現具有默認equals方法的類具有不同的 元對象Method的實例。爲什麼這樣? 乍一看,它看起來並不理想,因爲方法對象是不可變的。爲什麼Method對象的多個實例是用於繼承的方法的
class X {}
Method defaultM = Object.class.getMethod("equals", Object.class)
Method xMethod = X.class.getMethod("equals", Object.class)
xMethod != defaultM
xMethod.equals(defaultM)
我不認爲有任何理論上的原因,它可能只是不是一個優化,它會在價格實踐上帶來很多改進。 – biziclop
嘗試將兩者都轉換爲字符串,如果它們屬於不同的類,則它們的字符串表示形式應該不同。 –
Method對象是不可變的,它與非最優有什麼關係? – EJP