带类型参数的接口(interface)有什么用?它们的真正用途是什么?我的理解正确吗? 假设我有这个界面
public interface Moveable <Person>{
void move(double x, double z);
}
这是否意味着只有类型为 Person 的对象才能使用/实现它?
最佳答案
这不是典型的模式,在您的情况下,类型参数没有做任何事情。这是一个更好的例子。
public interface Movable<T> {
T move();
}
现在您的代码将返回实现者指定的类型,而不是您只是说移动总是返回对象或其他一些更通用的类。
编辑:
public MyMover implements Movable<Truck> {
public Truck move(){
return new Truck();
}
}
您不能真正将接口(interface)的实现者限制为特定类型。你可以限制它by package如果你想。也许抽象类更适合你。
关于java - 带类型参数的接口(interface)有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11355702/