Question 97
Given: 
12. import java.io.*; 
13. public class Forest implements Serializable { // 问题一:Serializable是干嘛的啊?与这道题有什么关系啊?
14. private Tree tree = new Tree(); 
15. public static void main(String [] args) { 
16. Forest f= new Forest(); 
17. try { 
18. FileOutputStream fs = new FileOutputStream(“Forest.ser”)
19. ObjectOutputStream os = new ObjectOutputStream(fs); 
20. os.writeObject(f); os.close(); 
21. } catch (Exception ex) { ex.printStackTrace(); } 
22. } } 
23. 
24. class Tree { } 
What is the result? 
A. Compilation fails. 
B. An exception is thrown at runtime. 
C. An instance of Forest is serialized. 
D. A instance of Forest and an instance of Tree are both serialized. Answer: B我在eclipse里测试是提示:
java.io.NotSerializableException: Tree//问题二:这句话是什么意思啊?
 java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at Forest.main(Forest.java:9)