Что такое Serializable в Java?
В Java интерфейс Serializable используется для обозначения того, что объект может быть сериализован, то есть преобразован в последовательность байтов для сохранения его состояния или передачи по сети. Сериализация важна, когда необходимо сохранить объекты между сеансами выполнения программы или передать их между процессами.
Основные моменты:
- Интерфейс
Serializable:- Для того чтобы класс мог быть сериализован, он должен реализовать интерфейс
Serializable. Этот интерфейс не содержит методов и служит только для маркировки класса.
- Для того чтобы класс мог быть сериализован, он должен реализовать интерфейс
- transient ключевое слово:
- Поля, помеченные ключевым словом
transient, не участвуют в процессе сериализации. Это полезно, например, когда в классе есть временные или ненужные данные.
- Поля, помеченные ключевым словом
- Сериализация и Десериализация:
- Сериализация выполняется с использованием классов
ObjectOutputStreamиFileOutputStream, а десериализация - с использованиемObjectInputStreamиFileInputStream.
- Сериализация выполняется с использованием классов
class Person implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private transient int age; // Поле, помеченное transient
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + '}';
}
}
Комментарии