接口继承无需添加新方法的意义何在?

ID:16998 / 打印

接口继承无需添加新方法的意义何在?

接口继承无新方法的意义

接口可以继承另一个接口,无需添加新的方法,这在某些情况下很有意义。

例如:

public interface a {   void xx();   string yy(); }  public interface b extends a { }

此时,接口 b 继承了接口 a 的所有方法,但并没有添加任何新方法。这可能会让人疑惑,为什么需要创建这样的接口。

其实,这种继承方式相当于给派生自接口 b 的类型打上了 b 的标记。这样做的好处在于:

  • 类型过滤:可以方便地使用 b 接口作为类型过滤器,例如:
list<a> lista = ...; list<b> listb = lista.stream()   .filter(b.class::isinstance)   .map(b.class::cast)   .tolist();

通过这种方式,可以轻松地从列表 lista 中筛选出所有实现 b 接口的类型,并将它们转换为 b 类型。

  • 标记接口:b 接口还可以用作标记接口,表示实现该接口的类型具有特定的特性。例如:
public interface SerializableMarker { }

通过实现 serializablemarker 接口,一个类型可以表明它实现了 java 序列化接口 java.io.serializable。

总之,接口继承无新方法可以用于类型标记和过滤,为代码提供更强的可扩展性和可维护性。

上一篇: i++真的是原子操作吗?
下一篇: 多线程应用如何优雅地关闭?

作者:admin @ 24资源网   2024-11-27

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。