类之间的单继承,接口之间多继承,类与接口之间多实现,单继承多实现
程序员文章站
2024-03-18 21:24:52
...
类之间仅单继承,不能够多继承
子类如果继承多个父类,多个父类存在同名属性或方法,子类继承时将不能判断继承自哪个父类的属性和方法,所以类之间不能够多继承。接口之间的多继承
接口中的方法均为抽象方法,没有具体实现的方法体,所以多继承的情况下即使方法同名,也不会出现多继承那样的矛盾。类与接口之间可以多实现
与接口之间可多继承同理,多接口即使有同名的抽象方法,类在实现时只需要重写一个方法即可。多继承,多实现的例子:
public interface IA {
public void m1();
}
public interface IB extends IA {
public void m2();
}
public interface ID extends IA, IB {
public void m3();
}
public interface IE {
public void m4();
}
public class IF implements ID, IE {
@Override
public void m1() {
System.out.println("m1");
}
@Override
public void m2() {
System.out.println("m2");
}
@Override
public void m4() {
System.out.println("m3");
}
@Override
public void m3() {
System.out.println("m4");
}
}
public class TestMyclass {
public static void main(String[] args) {
ID m=new IF();
IE n=new IF();
m.m1();
m.m2();
m.m3();
n.m4();
}
}
结果:
m1
m2
m4
m3
public class IF extends Object implements ID, IE
单继承,多实现。
只能继承一个父类,可以实现多个接口。
上一篇: 关于function原型对象prototype的思考
下一篇: 数据类型的转换