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