Java JVM抛出notserializableexception的条件是什么?

Java JVM抛出notserializableexception的条件是什么?,java,serialization,Java,Serialization,有人能解释一下JVM在什么情况下抛出notserializableexception吗 埃克斯马普 class Emp implemenst Serializable { Address address = new Address(); } class Address { Strign address; } 在上述情况下,JVM是否会因为地址类不可序列化而引发异常 有人能解释一下吗?问题是地址没有实现可序列化,所以您必须实现它或将Emp中的地址标记为瞬态,这基本上意味着忽略序列

有人能解释一下JVM在什么情况下抛出notserializableexception吗

埃克斯马普

class Emp implemenst Serializable
{
   Address address = new Address();
}

class Address 
{
   Strign address;
}
在上述情况下,JVM是否会因为地址类不可序列化而引发异常


有人能解释一下吗?

问题是地址没有实现可序列化,所以您必须实现它或将Emp中的地址标记为瞬态,这基本上意味着忽略序列化中的成员

请看这里:


-->如果成员未实现可序列化或不是暂时的,Java将抛出异常。

如果要在Java中序列化对象,该对象中的每个字段(及其字段等)都必须实现可序列化接口。我们可以说每个对象都是单独序列化的


这就是Java在您的情况下抛出此异常的原因-其中一个字段不可序列化。

但当employee扩展address类时,它不会抛出异常。。为什么?(我知道这不是真实的例子)