Java 如何序列化接口实例

接口变量如何序列化?

现有一个内部接口如下
[code="java"]
public interface GetDataInterface extends Serializable {

    public Object getData(K key);
}

[/code]
new接口的变量并序列化如下
[code="java"]
GetDataInterface getData = new GetDataInterface() {

private static final long serialVersionUID = 1L;

@Override
public Object getData(String key) {
    return null;
}

};
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("a.obj"));
out.writeObject(getData);
out.close();
[/code]
始终报ioexception如下
[code="xml"]
IOException java.io.NotSerializableException:

[java.io.ObjectOutputStream.writeObject0(Unknown Source), java.io.ObjectOutputStream.defaultWriteFields(Unknown Source), java.io.ObjectOutputStream.writeSerialData(Unknown Source), java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source), java.io.ObjectOutputStream.writeObject0(Unknown Source), java.io.ObjectOutputStream.writeObject(Unknown Source)]
[/code]
如果建一个类继承自GetDataInterface再实例化该类的变量进行序列化不会出现问题,问下是不是像上面的接口变量无法进行序列化,有没有办法进行序列化(不新建类继承接口)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐