Начал изучать Java, дошёл до описания понятия "интерфейсы". Говорится, что создать объект интерфейсного типа нельзя, т.е. при попытке скомпилировать следующий код, появится ошибка:
| Код |
List tmp = new List();
|
| Код | cannot be instantiated
|
C этим всё понятно. Однако, если использовать методы, которые в качестве результата возвращают ссылку интерфейсного типа, то оказывается, что можно делать следующее:
| Код | Vector vec = new Vector(); vec.addElement(1); vec.addElement(2); vec.addElement(3);
List lst = vec.subList(0, 1);
|
Метод subList возращает ссылку на тип List. Какого типа будет объект, на который указывает ссылка lst ?
|