我想制作一个声明方法Mergeable
的接口merge()
。实现此目的的类将必须实现如下方法:
SomeObject.java
public class SomeObject implements Mergeable
@Override
public SomeObject merge(SomeObject other) {...}
请参见将return和parameter类型设置为实现类。有没有一种方法可以强制执行此操作,我将如何在接口中设置方法签名?
最佳答案
查看Comparable
界面作为示例。您可能必须写类似
interface Mergeable<T> {
T merge(T other);
}
...然后在您想接受
Mergeable
的任何时候写<T extends Mergeable<T>> void somethingWithMergeables(T merge1) {
...
}