Я не понимаю. В Java я позволил объявить интерфейс в качестве типа возвращаемого значения метода, как:Почему этот общий тип возвращаемого метода недействителен
public List<String> get(){
return new ArrayList<String>();
}
, если у меня теперь есть интерфейс позволяет говорить I
и класс C
его реализации, поэтому я не разрешено определяют следующим образом:
public List<I> get(){
return new ArrayList<C>();
}
Я знаю, что решение создать ArrayList<I>
и добавить C
к нему, но я задаюсь вопросом, почему я не позволил бы объявить его как один из приведенных выше. Я думал, что каждый C
также является I
, хотя это не должно быть проблемой.
избил меня! 1+ –