2010-04-30 60 views

回答

3

它不知道返回什么类型,因为doSomething可以通过几个不同的类实现不同的返回类型。

我相信编译器会查找具有该名称的所有方法实现,并确保其中至少有一个在上例中返回int。如果没有任何“doSomething”签名返回一个int,它会给出警告。

2

编译器知道所有当前可见的方法。如果它具有您要发送的消息的类型,则使用该类型。如果它知道所有具有该选择器的多种方法类型,它将任意选择一个,导致警告和可能的错误。如果它不知道任何此类方法的类型,则会假定该方法返回id

相关问题