Что такое Serializable
Serializable — это интерфейс-маркер в Java, который указывает, что объект класса может быть сериализован (преобразован в последовательность байтов) и десериализован. Он не содержит методов, но требует, чтобы все поля класса также были сериализуемыми (примитивы автоматически поддерживаются).
Пример:
import java.io.*;
class Person implements Serializable {
private String name;
private transient int age; // transient исключает поле из сериализации
public Person(String name, int age) {
this.name = name;
this.age = age;
}}
// Сериализация
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("person.ser"))) {
oos.writeObject(new Person("Alice", 30));
}
// Десериализация
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("person.ser"))) {
Person p = (Person) ois.readObject();
}
**Важно:**
- Для контроля версий используется `serialVersionUID`.
- Поля с `transient` не сохраняются.
- Несериализуемые поля вызывают `NotSerializableException`.
офферы быстрее!
Следующий вопрос
Это единственный вопрос по вашему фильтру