我有一个只包含一个通用方法的接口:
public interface Presenter {
<T> void query(T queryParameter);
}
Run Code Online (Sandbox Code Playgroud)
现在,我想定义 的子类,Presenter并且类型为String,就像这样:
public class IpQueryPresenter implements Presenter {
void query(String queryParameter) {
//do something here...
}
}
Run Code Online (Sandbox Code Playgroud)
如何定义呢?
我看到您所有的答案都定义了接口名称的类型,但这是必须的吗?如果我只想定义一个通用方法并覆盖它,是否可以?
首先,从您的代码中,我假设您正在实现一个接口,而不是扩展一个类(尽管您的IpQueryPresenter类没有extendsorimplements子句)。
您可以将泛型类型参数移至接口级别:
public interface Presenter<T> {
void query(T queryParameter);
}
Run Code Online (Sandbox Code Playgroud)
进而 :
public class IpQueryPresenter implements Presenter<String> {
void query(String queryParameter) {
//do something here...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4027 次 |
| 最近记录: |