Довідники 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 + '}';
    }
}
Коментарі
Додати коментар

Поки що коментарів немає