接口多继承自接口和接口是否可以继承自一般类的疑问?
Posted 西北野狼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口多继承自接口和接口是否可以继承自一般类的疑问?相关的知识,希望对你有一定的参考价值。
接口是常量值和方法定义的集合。接口是一种特殊的抽象类。
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
以上是关于接口多继承自接口和接口是否可以继承自一般类的疑问?的主要内容,如果未能解决你的问题,请参考以下文章
JAVA多线程继承Thread 与实现Runnable接口的相关疑问
15接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?抽象类中是否可以有静态的main方法?