【问题标题】:How serialization affects inheritence in Java?序列化如何影响 Java 中的继承?
【发布时间】:2015-04-11 04:06:21
【问题描述】:

第一种情况:

class A 
{
    some methods
}

class B extends A implements Serializable
{
    some methods
}

class C
{
    B b=new B()
  // do some work
}

第二种情况:

class A implements Serializable
{
    some methods
}

class B extends A
{
    some methods
}

class C
{
    B b=new B()
   // do some work
}

在第一种情况下,在 C 类中,我们创建了 B 类的对象,而 A 类将被序列化?在第二种情况下,B 类是否被序列化?当我们在 C 类中创建 B 类的对象时?

【问题讨论】:

  • 听起来像是你需要自己做的家庭作业。
  • 这个问题有什么问题吗?
  • 阅读这里beingjavaguys.com/2013/11/…这可能对你有帮助!
  • 我搜索了很多资源,我搞砸了资源,所以我想在这里问......

标签: java serialization


【解决方案1】:

在第一种情况下,B 类和 A 类将被序列化

没有。只有B级。

但在第二种情况下,B 类是否被序列化?

当然, A类。

一个类被序列化当且仅当它被声明为实现Serializable, 或扩展Serializable 的接口,或作为扩展实现两者之一的类。

您的问题似乎与您的代码背道而驰。

【讨论】:

  • 如果情况 1 出现以下场景:class C { A a=new A() //do some work } 那么会发生什么? A 类会持续存在吗?
猜你喜欢
  • 1970-01-01
  • 2015-09-16
  • 2019-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-19
  • 2011-06-21
  • 2012-07-25
相关资源
最近更新 更多