ae pessoal lendo o livro da kathy pg 256/257 ela diz que a sintaxe abaixo lançaria em tempo de execucao uma exceção caso a class Collar nao fosse Serializada… porem ta rodando normal aqui… pq? mas teoricamente no deveria lançar?
import java.io.*;
public class SerializeDog {
public static void main(String[] args) {
Collar c = new Collar(3);
Dog d = new Dog(c,7);
System.out.println("before: collar " + d.getCollar().getCollarSize());
try{
FileOutputStream fp = new FileOutputStream("dog.ser");
ObjectOutputStream oo = new ObjectOutputStream(fp);
oo.writeObject(d);
oo.close();
}catch(Exception e){}
/*try{
FileInputStream a = new FileInputStream("dog.ser");
ObjectInputStream oi = new ObjectInputStream(a);
d=(Dog)oi.readObject();
oi.close();
}catch(Exception e){}
System.out.println("after : collar is " + d.getCollar().getCollarSize());*/
}
}
class Dog implements Serializable{
private Collar collar;
private int dogSize;
public Dog(Collar collar,int size){
this.collar=collar;
dogSize=size;
}
public Collar getCollar(){return collar;}
}
class Collar {
private int collarSize;
public Collar(int s){collarSize=s;}
public int getCollarSize(){return collarSize;}
}
…