有如下界面(是的,我知道可以更换Function<T, V>,不是重点):
public interface OutputUI<T, V> {
void addOutput(T t);
V getCalculatedOutput();
}
在将新对象发送到输出(之前转换它)时,我在另一个类中使用此接口。在这个其他类中,我根本不关心类型V:
public OutputUI breakDown(){
out.addOutput("u broke " + name + " with " + rigidity + ", dude");
return out;
}
当你收到它时,它也不重要。
首先想到的是制作两个独立的接口 -Input<T>和Output<V>.
但是还有其他方法吗?特别是,是否可以仅指定工作所需的泛型?
您无法指定的部分。实现接口时,无论如何都需要实现所有方法。但是如果你不关心类型,
V你总是可以传入一个简单的Object.如果您在某处需要一种方法,则可以在某处进行多个接口继承。例如像这样
然后您可以
OutputUI在必要时使用 OutputUI_X或者如果它们不相关,则制作两个单独的接口
并在实现中单独或同时使用它们,例如
您还可以进行强大的操作 - 您可以将类的对象分配给接口实例,即使我们间接实现它:
Printer实现接口FS。所以它间接实现了接口F和S. 因此,以下条目将是正确的:当然还有这个: