Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по наследованию 
:(
    Опции темы
ulcigor
Дата 8.11.2014, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 13.5.2009

Репутация: нет
Всего: нет



Добрый вечер уважаемые форумчане.
Возник вопрос по наследованию.

Имеется интерфейс и две имплементации этого интерфейса. Допустим классы A и B. При инициализации класса A и класса B, необходимо присвоить классу A класс B. Вопрос собственно в том, как это сделать? При попытке такое провернуть вполне ожидаемо, что java выкидывает Exeption java.lang.ClassCastException с описанием cannot be cast to

Вот примерв кода:

Код

public interface Session {
    public String getName();
    public void setName(String name);
}


Код

public class Websocket implements Session {
    private String name;
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}


Код

public class CWebsocket implements Session {
    private Integer id;
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
}


Код

public class Test {
    public static void main(String [] args) {
        Websocket websocket =  new Websocket();
        websocket.setName("test");

        CWebsocket cWebsocket = (CWebsocket) websocket;
        System.out.println(cWebsocket.getName());
    }
}


Заранее большое спасибо за внимание к проблеме.

Это сообщение отредактировал(а) ulcigor - 8.11.2014, 17:51
PM MAIL   Вверх
sgrey
Дата 9.11.2014, 04:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 15.4.2006

Репутация: нет
Всего: 4



напишите зачем вам это надо и что хотите чтобы получилось, получите ответ как это сделать правильно. 

Это сообщение отредактировал(а) sgrey - 9.11.2014, 04:29
PM MAIL   Вверх
Mirkes
Дата 11.11.2014, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 586
Регистрация: 18.8.2011
Где: Красноярск

Репутация: 7
Всего: 17



Интересно, как это пропустил компилятор: класс CWebsocket НЕ ИМПЛЕМЕНТИРУЕТ Session - нет реализации методов getName и  setName.


--------------------
Mirkes
PM MAIL   Вверх
baldina
Дата 11.11.2014, 17:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 1
Всего: 101



Цитата(ulcigor @  8.11.2014,  17:50 Найти цитируемый пост)
Имеется интерфейс и две имплементации этого интерфейса. Допустим классы A и B. При инициализации класса A и класса B, необходимо присвоить классу A класс B. 

Имеется интерфейс "животное" и две имплементации этого интерфейса. Допустим классы "кошка" и "собака". При инициализации класса "кошка" и класса "собака", необходимо присвоить классу "кошка" класс "собака". 

ничего не замечаете?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1110 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.