Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Объявление переменной класса T, реализующей интерфейс L, в котором нет нек-рых методов T / 5 сообщений из 5, страница 1 из 1
26.03.2013, 16:37:01
    #38198965
ozzmosis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление переменной класса T, реализующей интерфейс L, в котором нет нек-рых методов T
Не пинайте - яву только начал изучать.

Объясните тёмному, плз: если в классе LinkedList существует метод addFirst(), и кроме того, этот класс реализует интерфейс List (среди прочих), то почему при объявлении:
Код: java
1.
List<String> a = new LinkedList<String>();

- я не в праве воспользоваться вызовом a.addFirst(), которого нет в интерфейсе List ?
То есть, нужно объявлять именно так:
Код: java
1.
LinkedList<String> a = new LinkedList<String>();
...
Рейтинг: 0 / 0
26.03.2013, 16:41:41
    #38198975
Adva
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление переменной класса T, реализующей интерфейс L, в котором нет нек-рых методов T
ozzmosis,

метод addFirst объявлен в другом интерфейсе - Deque, который также наследует LinkedList.
Можно объявить переменную как
Код: java
1.
Deque<String> = new LinkedList<String>();
...
Рейтинг: 0 / 0
26.03.2013, 16:44:28
    #38198984
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление переменной класса T, реализующей интерфейс L, в котором нет нек-рых методов T
Очевидно же, что компилятор понятия не имеет на какие экземпляры будет в рантайме ссылаться переменная.
Поэтому обращаться можно только к членам соответствующим типу переменной.
Это называется "статическая типизация".
...
Рейтинг: 0 / 0
26.03.2013, 16:45:43
    #38198988
ozzmosis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление переменной класса T, реализующей интерфейс L, в котором нет нек-рых методов T
Adva,

ну, а если бы этот метод не был ни в каких и/фейсах объявлен, тогда что ?
...
Рейтинг: 0 / 0
26.03.2013, 16:46:20
    #38198989
ozzmosis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявление переменной класса T, реализующей интерфейс L, в котором нет нек-рых методов T
Blazkowicz,

ясно, спасибо.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Объявление переменной класса T, реализующей интерфейс L, в котором нет нек-рых методов T / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]