saida 121 restored 42
Porque ele não imprime 1212 restored 42???
package certificacao;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
class Food {
Food() {
System.out.print(“1”);
}
}
class Fruit extends Food implements Serializable {
Fruit() {
System.out.print(“2”);
}
}
public class S101 extends Fruit {
int size = 42;
public static void main(String[] args) {
S101 b = new S101();
b.serializeBanana2(b); // assume correct serialization
b = b.deserializeBanana2(b); // assume correct
System.out.println(" restored " + b.size + " ");
}
private S101 deserializeBanana2(S101 c) {
try {
FileInputStream fs = new FileInputStream("Forest.ser");
ObjectInputStream os = new ObjectInputStream(fs);
c = (S101) os.readObject();
os.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println("erro na deserializeBanana2");
}
return c;
}
private void serializeBanana2(S101 f) {
try {
FileOutputStream fs = new FileOutputStream("Forest.ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(f);
os.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}