powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Возможно ли сериализовать класс, содержащий внутренние безымянные классы?
9 сообщений из 9, страница 1 из 1
Возможно ли сериализовать класс, содержащий внутренние безымянные классы?
    #32990640
Andrew2zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно, весь вопрос - в теме топа.

Подробности:

я пробую сериализовать класс, который содержит внутренний безымянный класс, расширяющий ActionListener

Это приводит к IOException.

Что делать?
...
Рейтинг: 0 / 0
Возможно ли сериализовать класс, содержащий внутренние безымянные классы?
    #32991503
ponomarevvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, не расширяющий, а реализующий?
А если сделать так?
Код: plaintext
1.
2.
3.
4.
 class  MyListener  implements  ActionListener, Serializable
{
…
}
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
Возможно ли сериализовать класс, содержащий внутренние безымянные классы?
    #32992983
Andrew2zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, конечно, именно реализующий, я оговорился.

У меня:

private ActionListener myListener = new ActionListener (){
public void actionPerformed (ActionEvent e){
...
}
};

таким образом используется безымянный класс, реализующий ActionListener.

При попытке сериализовать класс, содержащий myListener, вылазит IOException.

Я решил это по-другому, сделал внешний именованный класс:

Class MyListener implements ActionListener {
private MyClass m;
MyListener (MyClass m){
this.m=m;
}
public void actionPerformed (ActionEvent e){
m.action(e);
}
}

Но мне сейчас все переделывать савсэм обламывает. Вот и спросил
...
Рейтинг: 0 / 0
Возможно ли сериализовать класс, содержащий внутренние безымянные классы?
    #32993166
ponomarevvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ведь чтобы сериализовать, надо интерфейс Serializable, помимо прочего, реализовать
Можно и без него как-то (2 способа, кажется), но навскидку их не вспомню…
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
Возможно ли сериализовать класс, содержащий внутренние безымянные классы?
    #33041698
Andrew2zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И все же. Кто - нибудь может дать более менее четкий совет по этому поводу? Потому как приведенное выше решение не сильно привлекательно в случае наличия исходника с полтинником безымянных классов..
...
Рейтинг: 0 / 0
Возможно ли сериализовать класс, содержащий внутренние безымянные классы?
    #33041709
Andrew2zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ponoparevvb.

Видимо я чего-то конкретно не понимаю, но
В API сказано:
The serialization interface has no methods or fields and serves only to identify the semantics of being serializable.

И как же мне реализовывать serializable?
...
Рейтинг: 0 / 0
Возможно ли сериализовать класс, содержащий внутренние безымянные классы?
    #33041730
Andrew2zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ponoparevvb.

Большое спасибо и прошу прощения за невнимательность!
Итак, вся загвоздка не в том, что класс безымянный, а в формальном обозначении его как Serializable.
%)
...
Рейтинг: 0 / 0
Возможно ли сериализовать класс, содержащий внутренние безымянные классы?
    #33042003
ponomarevvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Andrew2zz:
Я выслал Вам главу из книги "Философия Java", в которой сериализация описана достаточно неплохо ;-)
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
Возможно ли сериализовать класс, содержащий внутренние безымянные классы?
    #33045052
Axyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно использовать для хранения обьектную бд db4object, там вообще не нужно никакие интерфейсы наследовать.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Возможно ли сериализовать класс, содержащий внутренние безымянные классы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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