例如,
我在抽象类中有一个带有以下签名的方法。
Set<CarRecommendation> generateRecommendations(String accountId){
// do something
}
为了使上述方法通用且兼容不同类型的建议书,我正在考虑使用空接口,让CarRecommendation和BikeRecommendation实现它。
public interface Recommendation {
}
public class CarRecommendation implements Recommendation{
// more stuff
}
public class BikeRecommendation implements Recommendation{
// more stuff
}
这样我就可以将抽象类中的方法签名更改为以下
Set<? extends Recommendation> generateRecommendations(String accountId)
定义标记接口是一个好习惯,其唯一目的是使方法通用吗?如果没有,那会是更好的方法吗?感谢。