JAVA OCJP考试:序列化与IO操作重点解析

5星 · 超过95%的资源 需积分: 9 3 下载量 52 浏览量 更新于2024-07-25 2 收藏 1.9MB DOC 举报
"OCJP题库中的JAVA考试题目主要涵盖了对象序列化这一核心知识点。" 在Java编程中,对象序列化是一项重要的技能,它允许我们将Java对象转换为字节流,便于存储或在网络上传输。这在【标题】"OCJP题库JAVA考试"和【描述】中被提及。【标签】"OCJP 题库"表明这些题目与Oracle Certified Professional, Java Programmer (OCJP)认证考试相关,该考试通常会测试考生对Java基础知识的掌握,包括对象序列化。 **QUESTION1** 通过展示一段代码,考察了对象序列化的基本原则。在Java中,如果要序列化一个类的实例,该类必须实现`java.io.Serializable`接口。如果一个可序列化的类引用了未实现序列化的类的对象(如题目中的`Tree`),在尝试序列化整个对象图时,程序会在运行时抛出`java.io.NotSerializableException`。这是因为`Tree`类没有实现`Serializable`接口,违反了序列化的规则。这个问题关联于【标签】中的"题库"和"序列化操作Serializaed"。 **QUESTION2** 这个问题涉及到如何正确地序列化和反序列化对象。在Java中,`ObjectInputStream`和`ObjectOutputStream`提供了`defaultReadObject()`和`defaultWriteObject()`方法,用于处理对象的默认序列化行为。为了使类能够正确序列化和反序列化,需要在适当的`readObject()`和`writeObject()`方法中调用这些默认方法。在提供的选项中,选择D `(D)x=s.readInt();y=s.readInt();` 是正确的,因为它分别读取了对象的`x`和`y`字段。这个问题同样关联于"IO操作—对象的序列化"的参考大纲。 **QUESTION3** 提供的代码片段展示了试图使用非法转义字符进行字符串分割的情况。在Java中,使用`split()`方法分割字符串时,需要提供一个正则表达式作为参数。题目中,使用了错误的转义字符导致了` Compilation fails`,即编译错误。正确的方式应该是使用单个空格(" ")或正则表达式`("\\s")`来分割字符串。这个问题与字符串处理和正则表达式的使用有关。 这些题目覆盖了Java中对象序列化的基本概念,包括实现`Serializable`接口的重要性,以及在序列化和反序列化过程中正确处理对象字段的方法。同时,还涉及到了字符串处理中的`split()`方法及其对转义字符的使用规定。这些问题对于准备OCJP考试的考生来说是必要的复习内容。