![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| matras |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 4.10.2007 Репутация: нет Всего: нет |
День добрый. Проблема в следующем:
Есть кусок кода:
Где А и В - интерфейсы, причем B implements A. При данной попытке приведения типов выскакивает ClassCastException. Откуда оно берется (ведь интерфейсы принадлежат одной иерархии) и что с этим делать ? |
|||
|
||||
| ecologist |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 452 Регистрация: 28.2.2007 Репутация: 2 Всего: 9 |
Из того кода, что здесь приведен ничего не понятно. Подробности в студию.
|
|||
|
||||
| SaSho |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 10.6.2007 Где: Днепропетровск Репутация: 2 Всего: 3 |
Во первых, если A и B - интерфейсы, то B не может implements A, только extends. При этом вполне возможна ситуация несоответствия типов. Ведь объект, на который ссылается tmp1 не обязательно является реализацией B. Возможно, например, следующее:
и тогда при:
ссылка tmp1 ссылается на объект, который является реализацией A, но не явл. реализацией B! В твоём случае можно явно проверить:
|
||||||||||
|
|||||||||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |