Podstawy serializacji
Poznają Państwo podstawy serializacji w Javie: interfejs Serializable, ObjectOutputStream i ObjectInputStream.
Podstawy serializacji to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 1 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 3 lekcji w sumie.
Wprowadzenie
Serializacja oznacza zapisanie stanu obiektu do pliku (lub strumienia) i odtworzenie go później. Często używa się jej do utrwalania danych lub przesyłania obiektów.
Interfejs Serializable
Klasa musi implementować java.io.Serializable, aby jej obiekty można było serializować. Jest to interfejs znacznikowy, który nie zawiera metod.
Kod: klasa Serializable
W tym przykładzie Person implementuje Serializable. Dzięki temu obiekty tej klasy można zapisywać za pomocą 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 zapisuje obiekt do pliku. Plik będzie zawierać binarną postać obiektu.
Kod: zapisywanie obiektu
Ten kod zapisuje obiekt Person do pliku o nazwie 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());
}
}
}
Kod: odczytywanie obiektu
Ten kod odczytuje obiekt Person z pliku i go wypisuje.
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());
}
}
}
Sprawdzenie serializacji
Szybkie sprawdzenie: co musi zrobić klasa, aby można było ją serializować?
Podsumowanie
Podsumowanie: serializacja zapisuje obiekty za pomocą ObjectOutputStream i odtwarza je za pomocą ObjectInputStream. Klasy muszą implementować Serializable.
Często zadawane pytania
Czy lekcja „Podstawy serializacji” jest bezpłatna?
Tak — pełny tekst „Podstawy serializacji” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Podstawy serializacji”?
Poznają Państwo podstawy serializacji w Javie: interfejs Serializable, ObjectOutputStream i ObjectInputStream. Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Java Academy?
Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 3.
Ile czasu zajmuje lekcja „Podstawy serializacji”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?
Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy serializacji
- Prosta obsługa CSV/JSON
- Przechodzenie po plikach i narzędzia