接口多继承自接口和接口是否可以继承自一般类的疑问?

简介: 接口是常量值和方法定义的集合。接口是一种特殊的抽象类。Java类是单继承的。classB Extends classAjava接口可以多继承。Interface3 Extends Interface0, Interface1, interface……不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。

接口是常量值和方法定义的集合。接口是一种特殊的抽象类。

Java类是单继承的。classB Extends classA

java接口可以多继承。Interface3 Extends Interface0, Interface1, interface……

不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?

但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。

注意:

1)一个类如果实现了一个接口,则要实现该接口的所有方法。

2)方法的名字、返回类型、参数必须与接口中完全一致。如果方法的返回类型不是void,则方法体必须至少有一条return语句。

3)因为接口的方法默认是public类型的,所以在实现的时候一定要用public来修饰(否则默认为protected类型,缩小了方法的使用范围)。

接口可不可以继承自一般类?

不可以因为接口中只能出现3种成员
1.公共的静态常量(public final static )
2.公共的抽象方法(public abstract )
3.静态内部类(static class)

而一个类中,就算什么都不写,也必须带一个构造方法,在extends时就会被子类继承,如果是接口也会继承这个构造方法,很明显构造方法不在上面三项之列
而如果类中有一般的方法和成员变量,也会被子类全部继承,这些更不能出现在接口中了,所以接口是绝对不可能继承一个类的

参考:

1 http://blog.csdn.net/tiantiandjava/article/details/46514783

2 http://blog.csdn.net/xiaoyu714543065/article/details/8138519

相关文章
|
3天前
|
Java
接口和抽象类的区别
接口和抽象类的区别
17 6
|
20天前
|
设计模式 算法 Java
后端面试题:接口和抽象类的区别?抽象类可以多继承吗?
字节后端面试题:接口和抽象类的区别?抽象类可以多继承吗?
26 0
|
4月前
|
Java
抽象类和接口有什么区别?
抽象类和接口有什么区别?
|
21天前
|
Java
抽象类和接口的区别
抽象类和接口的区别
27 0
|
8月前
接口和抽象类有什么区别
接口和抽象类有什么区别
46 0
|
9月前
|
Java C++
接口与抽象类的区别
接口与抽象类的区别
|
SQL 关系型数据库 数据库连接
接口继承|学习笔记
快速学习接口继承,接口只能被类去实现,如果想要规范团队,也不能把所有想要规范的东西写在一个接口里,这样会使接口臃肿,不好实现接口的类,因为有可能并不需要这么多规范。为了使接口的体系更加完整,更加具有结构性,就有了接口继承。本节的目标是理解接口的继承体系,掌握具体的接口继承实现。
92 0
接口继承|学习笔记
|
网络协议 测试技术 Go
实现接口和继承比较(1) | 学习笔记
快速学习实现接口和继承比较(1)
85 0
实现接口和继承比较(1) | 学习笔记
|
网络协议 测试技术 Go
实现接口和继承比较(2) | 学习笔记
快速学习实现接口和继承比较(2)
56 0
实现接口和继承比较(2) | 学习笔记