接口可以扩展Serializable接口吗?

时间:2010-02-16 13:50:23

标签: java serialization

是否可以创建扩展Serializable接口的接口?

如果是,扩展接口的行为是否与Serilizable接口相似?如果没有,为什么?

4 个答案:

答案 0 :(得分:21)

是的,您可以扩展Serializable界面。如果这样做,那么实现新子接口的所有类也将实现Serializable

答案 1 :(得分:5)

  

我们可以这样做吗?

  

将扩展接口将采取   与Serilizable相同的效果   接口

答案 2 :(得分:2)

是的,这很正常。当我决定我的域中的所有类都应该可序列化时,我做过一次。他们已经实现了一些接口,所以我只是从Serializable扩展了该接口(正如你所描述的那样)。

答案 3 :(得分:1)

我正在通过android中经常遇到的情况来解释这一点。如果要将自定义侦听器(接口)的实例传递给fragment,那么侦听器(接口)扩展Serializable可以是一个选项。例如

假设有一个接口:

public interface OnDurationChangeListener extends Serializable {
    public void onDurationChange(Duration duration);
}

来自我想要将实例监听器(接口)导出到Fragment的Activity。

bundle.putSerializable(ARGUMENT_LISTENER, new OnDurationChangeListener() {
    @Override
    public void onDurationChange(Duration duration) {
        // some code   
    }
});

在片段中,您可以将此侦听器实例设为:

mListener = (OnDaysSelectListener) getArguments().getSerializable(ARGUMENT_LISTENER);

从片段中我可以将活动中的Callback方法称为

mListener.onDaysSelect(mWeeKDayList);