解释的不是很专业
就是java里规定得是:单继承,多实现。
指的就是只能继承一个父类,可以实现多个接口
通俗点说:单继承就好比是一个人只能有一个亲生父亲
而不可能有两个
继承就是使子类具有父类的
属性,和方法
假如有两个父类:
//父类1
public class Person{
private String name;
private String id;
//有参构造方法
public Person(Person1 person){
}
}
//父类二
private class Teacher{
private String name;
private String id;
//有参构造方法
public Teacher(Teacher teacher){
}
//子类
public class Student{
}
那么当子类继承了这两个父类的话,当调用构造方法时,
会找不到你调用的是那个,即出现冲突。
子类不能继承两个以上的父类是java语言规范定义的,就像定义equals方法返回true的时候hashCode必须相同一样,没有什么为什么。
java中在接口是可以继承两个父类的;
java中可以通过内部类继承类;
上面两种方法结合可以完美的实现多继承。
这是JAVA的规定,也是区别于C++的很大的地方,可以理解为一个孩子不能有两个亲爹,但可以实现多个接口,也就是可以有多个干爹,
这个可以理解是规定,没有什么可解释的。
在java中要想实现多继承,都是用接口实现的。
这是SUN规定的,没有什么好解释的。