【发布时间】:2014-08-13 12:44:01
【问题描述】:
在 Objective-C 中,可以传递具有 Object<Protocol> 形式的函数参数,其含义是“实现协议协议的 Object 类型的对象”。我想知道是否有办法在 Java 中做同样的事情,例如“实现一些自定义接口的 Android 视图”(协议 = java 接口)。
【问题讨论】:
-
非常不精确的问题
-
是的,这叫做“泛型”。
-
在 Java 中没有必要这样做。只需将参数类型声明为
X,这意味着“实现X的任何类型的对象”,以防X是一个接口。 -
在 Objective-C 中,您可以拥有一个类型,它既是类型的实例又符合一个或多个协议,例如
MyClass<MyProtocol>。你问的是这个吗? -
@newacct 我就是这么解释的。
标签: java objective-c interface parameter-passing protocols