Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.jetbrains.annotations.NotNull;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
- //абстрактний клас Person
- public abstract class Person {
- private int age;
- private String name;
- Person(int age, String name) {
- this.age = age;
- this.name = name;
- }
- public String getName() {
- return name;
- }
- //внутрішній клас Address
- class Address {
- private String streetName;
- }
- //внутрішній клас Employee, що реалізує Serializable та Comparable<Person>
- class Employee extends Person implements Serializable, Comparable<Person>{
- private Address address; //юзаємо адресу, бо нащось же ми її створили
- //конструктор, що юзає супер
- Employee(int age, String name, Address address) {
- super(age, name);
- this.address = address;
- }
- //реалізація комперабл
- @Override
- public int compareTo(@NotNull Person o) {
- return name.compareTo(o.getName());
- }
- //серіалізація
- public void writeIn() throws IOException {
- ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("objects.dat"));
- out.writeObject(this);
- out.close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement