`
hstrust
  • 浏览: 45844 次
社区版块
存档分类
最新评论

父类实现了Serializable,子类不需要实现Serializable

阅读更多
父类实现了Serializable,子类不需要实现Serializable
  相关注意事项
    a)序列化时,只对对象的状态进行保存,而不管对象的方法;
    b)当一个父类实现序列化,子类自动实现序列化,不需要显式实现Serializable接口;
    c)当一个对象的实例变量引用其他对象,序列化该对象时也把引用对象进行序列化;
    d)并非所有的对象都可以序列化,至于为什么不可以,有很多原因了,比如:
        1.安全方面的原因,比如一个对象拥有private,public等field,对于一个要传输的对象,比如写到文件,对他们进行重新的资源分配,而且,也是没有必要这样实现。或者进行rmi传输等等,在序列化进行传输的过程中,这个对象的private等域是不受保护的。
       2. 资源分配方面的原因,比如socket,thread类,如果可以序列化,进行传输或者保存,也无法
0
3
分享到:
评论

相关推荐

    Java序列化中子类、父类构造函数问题实例分析

    例如,在上面的实例中,Foo类实现了Serializable接口,那么其子类Foo1和Foo2就不需要实现Serializable接口。 二、构造函数的调用 在创建对象的时候,递归调用了父类的构造函数。例如,在上面的实例中,创建了Foo2...

    java 中序列化NotSerializableException问题解决办法

    SupperMessage 实现了 Serializable 接口,但 MMessage 并没有实现该接口。当我们尝试序列化 MMessage 对象时,Java 将抛出 NotSerializableException 异常。 问题分析 ---------- 通过分析错误信息,我们可以...

    序列化类的作用Serializable

    如果某个类的父类没有实现`Serializable`接口,那么子类仍然可以序列化,但是父类的字段不会被序列化,除非父类中声明了`transient`或`volatile`的字段。 在序列化过程中,有时需要对特定类的字段进行特殊处理。...

    java序列化

    如果你的类有一个父类,而父类没有实现`Serializable`接口,那么你需要确保父类具有无参构造函数,以便在反序列化时创建父类的实例。如果父类实现了`Serializable`,则其字段也会被序列化。 **Java序列化的特点:**...

    什么是java序列化,如何实现java序列化?借鉴.pdf

    1. 将需要被序列化的类实现 Serializable 接口。 2. 使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象。 3. 使用 ObjectOutputStream 对象的 writeObject(Object obj) 方法将...

    什么是java序列化,如何实现java序列化?.pdf

    1. 将需要被序列化的类实现 Serializable 接口。 2. 使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream 对象。 3. 使用 ObjectOutputStream 对象的 writeObject(Object obj) 方法将参数为 obj ...

    什么是java序列化,如何实现java序列化?学习.pdf

    1. 将需要被序列化的类实现 Serializable 接口,然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream 对象,接着,使用 ObjectOutputStream 对象的 writeObject(Object obj) 方法就可以将参数...

    解析Android中的Serializable序列化

    如果父类已经实现了`Serializable`接口,那么所有子类都将自动具有序列化的能力,无需额外声明。 7. **利用Serializable保存自定义数据至本地** 在Android应用中,我们可以利用`Serializable`将自定义数据保存到...

    java面试题(面试 宝典)

    - Override(重写)是在子类中,方法名、返回类型和参数列表都与父类相同,但实现不同。 10. **Final类的特点**: - Final类不能被继承,保证了类的不可变性。 - Final变量一旦赋值后就不能改变。 - Final方法...

    J2SE中的序列化之继承

    2. **子类需要负责序列化(反序列化)父类的公共、受保护以及可访问的包内字段**:因为父类没有实现`Serializable`,子类需要自己处理这些字段的序列化。这意味着在子类中,可能需要使用`writeObject()`和`...

    最全Java笔试面试题

    重写(Override)发生在子类和父类之间,子类重写父类的同名方法,保持相同的参数列表,但实现不同。 3. **接口和内部类、抽象类的特性**:接口是Java实现多继承的方式,定义一组方法签名,不包含具体实现。内部类...

    ex5:从父类和实现中获取方法的无方法类

    在给定的"ex5"练习中,我们可能遇到一个场景,其中我们需要从父类和接口中继承或实现方法,而不是在当前类中直接定义它们。 在Java中,类可以通过以下两种方式从其他类或接口获取方法: 1. **继承(Inheritance)*...

    java面试题目(好东西)

    - `super()`用于调用父类的构造器,确保父类的初始化在子类构造器之前完成。 - `this()`同样用于调用本类的其他构造器,可以在同一个类的不同构造器之间传递参数。 2. **作用域public, protected, private,以及...

    职业培训学校java面试题

    - Override(重写):发生在父类与子类之间,方法名、参数列表和返回类型都必须相同,但子类方法不能降低访问权限,且不能抛出父类未抛出的异常。 11. **Final类**:Final类不能被继承,提供最终的实现,增加了...

    JAVA 综合面试题.pdf

    在 COLLECTION 框架中,实现比较需要实现 Comparable 接口或 Comparator 接口。 15. 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串: 该题目考察了 Java 中的字符串处理和...

    java序列化全解

    需要注意的是,如果父类没有实现`Serializable`接口,但在反序列化时父类有默认构造函数,那么在反序列化过程中,父类的默认构造函数会被调用。但如果父类是可序列化的,那么Java反序列化时会直接从字节流中恢复对象...

    JAVA-综合面试题.doc

    13. 实现序列化可以实现`Serializable`接口,并使用`ObjectOutputStream`和`ObjectInputStream`进行序列化和反序列化。 14. 实现比较需要实现`Comparable`接口或使用`Comparator`接口。 15. 插入排序代码略,根据...

    java对象实现序列化

    2. **序列化与继承**:如果父类是可序列化的,子类默认也是可序列化的。但是,如果父类包含不希望序列化的字段,可以通过`transient`关键字来标记它们。 3. ** transient 关键字**:`transient`修饰的成员变量不会...

    珍藏资料Java面试题以及答案.docx

    11. 继承时候类的执行顺序问题:父类的静态代码块 -> 父类的实例代码块 -> 子类的实例代码块 -> 子类的构造方法。 12. 内部类的实现方式?:可以使用静态内部类或非静态内部类。 Java 反射机制 13. 什么是类的返射...

Global site tag (gtag.js) - Google Analytics