2 classes DOG and Collar
犬はシリアル化できない首輪を持っています
首輪には文字列と整数があります
質問: DOG オブジェクトをシリアライズするには? writeObject と readObject をオーバーライドしようとしましたが、collar の String メンバーの書き込み中にスタックしました 書き込みと読み取りの方法???
2クラスはこちら
import java.io.*;
public class Dog implements Serializable{
String name;
transient Collar c;
public Dog(String name, Collar c){
this.name = name;
this.c =c;
}
public static void main(String args[]){
Dog d = new Dog("DogsName",new Collar("CollarsColor",3));
try {
File f = new File("dogs.ser");
FileOutputStream fos = new FileOutputStream(f);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(d);
oos.flush();
oos.close();
FileInputStream fis = new FileInputStream(f);
ObjectInputStream ois = new ObjectInputStream(fis);
Dog d2 =(Dog)ois.readObject();
System.out.println(d2);
ois.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class Collar {
String color;
int size;
public Collar(){
color= "White";
size =10;
}
public Collar(String c,int s){
color =c;
size =s;
}
}