public class MySerializable implements Serializable{
private int x=10;
private static int y = 15;
public static void main(String...args){
AnotherClass a = new AnotherClass();
AnotherClass b;
//Serialize
try {
FileOutputStream fout = new FileOutputStream("MyFile.ser");
ObjectOutputStream Oout = new ObjectOutputStream(fout);
Oout.writeObject(a);
System.out.println(a.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//De-serialize
try {
FileInputStream fis = new FileInputStream("MyFile.ser");
ObjectInputStream Oin = new ObjectInputStream (fis);
b = (AnotherClass) Oin.readObject();
System.out.println(b.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}catch (ClassNotFoundException e){
e.printStackTrace();
}
}
}
class AnotherClass implements Serializable{
transient int x = 8;
static int y = 9;
@Override
public String toString() {
return "x : " + x + ", y :" + y;
}
}
Bạn có thể cho tôi biết biến tĩnh được tuần tự hóa như thế nào không ??Biến tĩnh đến được tuần tự như thế nào?
Câu trả lời này là không đúng, biến tĩnh không được lưu trữ và khôi phục bằng cách tuần tự. Các biến tĩnh không thể và không được tuần tự hóa; giá trị của trường tĩnh nằm trong trường lớp toàn bộ thời gian ... nó không bao giờ để lại bộ nhớ nào cả. –