Встречается на собеседованиях • сегодня

Что такое Serializable

Serializable — это интерфейс-маркер в Java, который указывает, что объект класса может быть сериализован (преобразован в последовательность байтов) и десериализован. Он не содержит методов, но требует, чтобы все поля класса также были сериализуемыми (примитивы автоматически поддерживаются).

Пример:

java
import java.io.*;

class Person implements Serializable {
private String name;
private transient int age; // transient исключает поле из сериализации

text
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();
}

text

**Важно:**  
- Для контроля версий используется `serialVersionUID`.  
- Поля с `transient` не сохраняются.  
- Несериализуемые поля вызывают `NotSerializableException`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы