2010-04-30 58 views

回答

3

它不知道返回什麼類型,因爲doSomething可以通過幾個不同的類實現不同的返回類型。

我相信編譯器會查找具有該名稱的所有方法實現,並確保其中至少有一個在上例中返回int。如果沒有任何「doSomething」簽名返回一個int,它會給出警告。

2

編譯器知道所有當前可見的方法。如果它具有您要發送的消息的類型,則使用該類型。如果它知道所有具有該選擇器的多種方法類型,它將任意選擇一個,導致警告和可能的錯誤。如果它不知道任何此類方法的類型,則會假定該方法返回id

相關問題