前几天看到某大佬博客写的一篇文章,里面总结了一个结论:”Java之中只允许多层继承,不允许多重继承,Java存在单继承局限。“,然后我就在下面评论了一下,说java的接口,是可以多继承的,就引来另一个大佬的不屑,说那叫多实现,刚开始我以为是大佬只知道java的单继承。
后来反思了一下,应该是我没有说清楚,应该是Java的接口与接口之间,是可以多继承的
相信大家对java中只有单继承的结论根深蒂固,是的,但是我们要加上一个条件,是java的类只有单继承。
(找理由水一下博客)
我们可以自己动手来试一下
前期准备
jdk8,idea
代码实现
我们首先定义两个接口 Father,Mother
然后定义一个baby接口来继承那两个接口
public interface Father {
void bigEyes();
}
public interface Mother {
void littleMouth();
}
public interface Baby extends Father,Mother{
void upturnedNose();
}
最后我们来写一个Me类来实现baby接口
public class Me implements Baby {
@Override
public void bigEyes() {
System.out.println("爸爸的大眼睛");
}
@Override
public void littleMouth() {
System.out.println("妈妈的小嘴巴");
}
@Override
public void upturnedNose() {
System.out.println("我的翘鼻子");
}
}
最后我们来都调用试一下
public class Main {
public static void main(String[] args) {
Me m=new Me();
m.bigEyes();
m.littleMouth();
Father fa=new Me();
fa.bigEyes();
Mother mo=new Me();
mo.littleMouth();
}
}
小结
从上面的案例我们可以发现,接口与接口之间是可以多继承的,还有一个注意点就是接口与接口之间只能是继承关系。
至于java为啥只有接口可以多继承呢?这个小编就懒得写啦,大家自己可以去查查资料,嘿嘿嘿=OvO=