我想创建一个声明方法Mergeable
的接口merge()
。实现它的类必须实现如下方法:
SomeObject.java
public class SomeObject implements Mergeable
@Override
public SomeObject merge(SomeObject other) {...}
请参见return和parameter类型设置为实现类。有没有办法强制执行此操作以及如何在界面中设置方法签名?
答案 0 :(得分:7)
查看Comparable
接口的示例。您可能需要编写类似
interface Mergeable<T> {
T merge(T other);
}
...然后,只要您想接受Mergeable
的内容,请写
<T extends Mergeable<T>> void somethingWithMergeables(T merge1) {
...
}