标签:log xtend ... cep 实现 java学习笔记 str 学习笔记 out
如果父类没有实现Serializable接口,子类实现了Serializable接口,那么子类是可以序列化的。
但是如果想要反序列化,那么就需要父类支持默认构造函数。
因为在反序列化的过程中不会调用子类的构造函数,而会以不带参数的形式调用父类的构造函数。
1 public class dog { 2 public dog(String n) { name = n; } 3 public dog() { name = ""; } 4 public String name; 5 }
1 import java.io.*; 2 3 public class snoopy extends dog implements Serializable { 4 public int age; 5 public snoopy(String n, int a) { 6 super(n); 7 System.out.println("Constr..."); 8 System.out.println(n); 9 if ("" == n) { 10 System.out.println("empty"); 11 } 12 age = a; 13 } 14 15 public static void main(String[] args) { 16 snoopy sn = new snoopy("Snoopy", 5); 17 18 try { 19 FileOutputStream fs = new FileOutputStream("snoopy.ser"); 20 ObjectOutputStream os = new ObjectOutputStream(fs); 21 os.writeObject(sn); 22 os.close(); 23 24 ObjectInputStream is = new ObjectInputStream(new FileInputStream("snoopy.ser")); 25 System.out.println("Begin---"); 26 snoopy s = (snoopy) is.readObject(); 27 28 } catch(Exception ex) { 29 ex.printStackTrace(); 30 } 31 } 32 }
标签:log xtend ... cep 实现 java学习笔记 str 学习笔记 out
原文地址:http://www.cnblogs.com/ren-yu/p/6360962.html