java接口+Java支持多继承吗?
1.接口使用interface(接口)关键字修饰
2.接口中的方法默认都是全局抽象方法,即默认public abstract修饰
3.接口不能直接new对象,必须通过new子类创建对象(多态向上转型)
4.接口的子类(实现类)必须重写父类的所有抽象方法,除非子类是抽象类或者接口可以不写
5.接口中不能写普通属性,默认为全部静态常量,即默认public static final修饰
6.接口中不能写普通方法,原因参考第2条
7.接口中不能写构造方法,原因参考第5条
8.接口中不能写静态代码块
9.多态的实现方式不变
10.实现类可以实现多个接口
package com.qfedu.test3;public interface A {void m1();}
package com.qfedu.test3;public interface B {void m2();}
package com.qfedu.test3;public interface C {void m3();}
package com.qfedu.test3;/*** 一个类实现多个接口* @author **/public class D implements A,B,C {@Overridepublic void m3() {}@Overridepublic void m2() {}@Overridepublic void m1() {}}
package com.qfedu.test3;public interface Test {public static void main(String[] args) {D d = new D();d.m1();d.m2();d.m3();}}
11.接口可以继承多个接口
package com.qfedu.test4;public interface A {void m1();}
package com.qfedu.test4;public interface B {void m2();}
package com.qfedu.test4;/*** 一个接口继承 多个接口* @author **/public interface C extends A,B {void m3();}
package com.qfedu.test4;/*** 一个类* @author **/public class D implements C {@Overridepublic void m3() {}@Overridepublic void m2() {}@Overridepublic void m1() {}}
package com.qfedu.test4;public interface Test {public static void main(String[] args) {D d = new D();d.m1();d.m2();d.m3();}}
简单面试题:Java支持多继承吗?
不支持,但是可以通过接口继承多个接口的方式实现类似多继承的效果