public class Foo implements java.io.Serializable {
private int v1;
private static double v2;
private Loan v3 = new Loan();
}
选项:
A. Foo的实例可以被序列化,因为Foo实现了Serializable接口。
B. Foo的实例无法被序列化,因为Foo包含一个非可序列化的实例变量v3。
C. 如果将v3标记为transient,则Foo的实例是可序列化的。
D. b和c
答案:D
解释:即使一个对象的类实现了java.io.Serializable
,它也可能无法被序列化,因为它可能包含非可序列化的实例变量。
现在我的问题是:
据我所知,transient 用于 关闭序列化。那么在这种情况下,transient如何帮助我们序列化foo?