Engine.java Source code

Java tutorial

Introduction

Here is the source code for Engine.java

Source

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

class Engine implements Serializable {
    private int numCylinders;

    Engine(int numCylinders) {
        this.numCylinders = numCylinders;
    }

    int getNumCylinders() {
        return numCylinders;
    }
}

class Car implements Serializable {
    private int numTires;

    private Engine e;

    private String name;

    Car(String name, int numTires, Engine e) {
        this.name = name;
        this.numTires = numTires;
        this.e = e;
    }

    int getNumTires() {
        return numTires;
    }

    Engine getEngine() {
        return e;
    }

    String getName() {
        return name;
    }
}

class Main {
    public static void main(String[] args) throws Exception {
        Car c1 = new Car("Some car", 4, new Engine(6));

        ObjectOutputStream oos = null;

        FileOutputStream fos = new FileOutputStream("car.ser");
        oos = new ObjectOutputStream(fos);

        oos.writeObject(c1);
        ObjectInputStream ois = null;

        FileInputStream fis = new FileInputStream("car.ser");
        ois = new ObjectInputStream(fis);

        Car c2 = (Car) ois.readObject();

        System.out.println("Number of tires = " + c2.getNumTires());
        System.out.println("Number of cylinders = " + c2.getEngine().getNumCylinders());
        System.out.println("Name = " + c2.getName());
    }
}