Основы сериализации
Изучите основы сериализации в Java: интерфейс Serializable, ObjectOutputStream и ObjectInputStream.
«Основы сериализации» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 3 уроков всего.
Введение
Сериализация означает сохранение состояния объекта в файл или поток и его последующее восстановление. Её часто используют для хранения данных или передачи объектов.
Интерфейс Serializable
Класс должен реализовать java.io.Serializable, чтобы его объекты можно было сериализовать. Это интерфейс-маркер без методов.
Код: сериализуемый класс
Здесь Person реализует Serializable. Благодаря этому объект можно записывать с помощью ObjectOutputStream.
import java.io.Serializable;
public class Main {
static class Person implements Serializable {
String name;
int age;
Person(String n, int a) { name = n; age = a; }
public String toString() { return name + "(" + age + ")"; }
}
public static void main(String[] args) {
Person p = new Person("Ada", 30);
System.out.println("Created: " + p);
}
}
ObjectOutputStream
ObjectOutputStream записывает объект в файл. Файл будет содержать двоичное представление объекта.
Код: запись объекта
Этот код записывает объект Person в файл с именем person.ser.
import java.io.*;
public class Main {
static class Person implements Serializable {
String name; int age;
Person(String n,int a){name=n;age=a;}
}
public static void main(String[] args) {
Person p = new Person("Bob",25);
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("person.ser"))) {
out.writeObject(p);
System.out.println("Object written");
} catch(IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
Код: чтение объекта
Этот код считывает объект Person из файла и выводит его.
import java.io.*;
public class Main {
static class Person implements Serializable {
String name; int age;
Person(String n,int a){name=n;age=a;}
public String toString(){return name+"("+age+")";}
}
public static void main(String[] args) {
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("person.ser"))) {
Person p = (Person) in.readObject();
System.out.println("Read: " + p);
} catch(Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}
Проверка сериализации
Быстрая проверка: что должен делать класс, чтобы его можно было сериализовать?
Повторение
Повторение: сериализация сохраняет объекты с помощью ObjectOutputStream и восстанавливает их с помощью ObjectInputStream. Классы должны реализовывать Serializable.
Часто задаваемые вопросы
Урок «Основы сериализации» бесплатный?
Да — полный текст урока «Основы сериализации» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 3 уроков всего.
Чему я научусь в уроке «Основы сериализации»?
Изучите основы сериализации в Java: интерфейс Serializable, ObjectOutputStream и ObjectInputStream. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.
Сколько времени занимает урок «Основы сериализации»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы сериализации
- Простая обработка CSV/JSON
- Обход файлов и утилиты