繁体   English   中英

Class 字段是一个不可序列化的接口,但它的实现是可序列化的。 会连载吗?

[英]Class field is a non-serializable interface, but its implementation is Serializable. Will it get serialized?

如果我序列化一个Parent的实例,并将field3分配给一个MyImplementation的实例,那么field4field5被序列化吗?

public class Parent implements Serializable {
    public String field1;
    public String field2;
    public MyInterface field3;
}

public interface MyInterface {
    String getText();
}

public class MyImplementation implements MyInterface, Serializable {
    private static final long serialVersionUID = 12345464324324L;
    public int field4;
    public int field5;

    @Override
    public String getText() {
        return "foo";
    }
}

事实证明他们会的!

附言。 尽管您会收到 FindBugs 警告

“SE_BAD_FIELD - 可序列化类中的非瞬态不可序列化实例字段”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM