当前位置: 代码迷 >> J2EE >> 大神请教,这个语法什么意思
  详细解决方案

大神请教,这个语法什么意思

热度:28   发布时间:2016-04-17 23:34:24.0
大神请问,这个语法什么意思?
public interface Node extends Iterable<Node>, Serializable {
//方法签名....
}
------解决思路----------------------
创建Node接口, Node接口扩张Iterable和Serializable接口, 如果没有加入新的方法, 相当于将Iterable和Serializable两个接口合成一个接口
------解决思路----------------------
接口Node 继承Iterable接口 以后 便可以 使用 for each来迭代了

而任何类型只要实现了Serializable接口,就可以被保存到文件中,
或者作为数据流通过网络发送到别的地方。
也可以用管道来传输到系统的其他程序中。
这样子极大的简化了类的设计。
只要设计一个保存一个读取功能就能解决上面说得所有问题
------解决思路----------------------
创建Node接口,继承 Iterable<Node>和Serializable类
------解决思路----------------------
class只能单继承,但interface可以多继承。

因为类多继承的话容易出现菱形继承的问题,即,两个父类继承自同一个基类,则子类中会包含两份祖父类的内容,不合并重复内容会引起一些歧义,而合并重复内容又会导致类成员的内存布局不能简单复制地从父类复制。
而接口多继承没问题,接口只是个规范,多继承接口实际上就是合并了规范,怎么实现是class是事情。
------解决思路----------------------
提了一个好问题,继承了Iterable接口内容规定了NODE类型,而Serializable简单继承!

最终进行合并,从Iterable继承过来的方法使用了泛型约束。
------解决思路----------------------
接口继承接口+泛型
  相关解决方案