Справочники Java Serializable

Что такое Serializable в Java?

В Java интерфейс Serializable используется для обозначения того, что объект может быть сериализован, то есть преобразован в последовательность байтов для сохранения его состояния или передачи по сети. Сериализация важна, когда необходимо сохранить объекты между сеансами выполнения программы или передать их между процессами.


Основные моменты:

  1. Интерфейс Serializable:
    • Для того чтобы класс мог быть сериализован, он должен реализовать интерфейс Serializable. Этот интерфейс не содержит методов и служит только для маркировки класса.
  2. transient ключевое слово:
    • Поля, помеченные ключевым словом transient, не участвуют в процессе сериализации. Это полезно, например, когда в классе есть временные или ненужные данные.
  3. Сериализация и Десериализация:
    • Сериализация выполняется с использованием классов 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 + '}';
    }
}
Комментарии
Добавить комментарий

Пока комментариев нет