你的意思是一个类继承多个类还是有多层继承?
如果是一个类继承多个类的话,java里是不行的,可以实现多个接口,打个比方,继承就象是亲爹,接口是干爹,亲爹只有一个,干爹可以有多个
如果是多层继承的话,就比如:
class A{
}
class B extends A{
}
class C extends B{
}
类A B C就实现了多重继承,A中有的方法B中全部由,B中有的方法和属性C中全部有,构造函数不被继承,无参的构造函数被子类默认的以SUPER()实现
java中没有多重继承,都是单继承
要实现这个功能,可以使用接口
把最底层职位的人的技能都写成接口就行了
哪些职位的人会这个技能就实现这个接口,也可以标记这个接口
一种是通过实现多个接口;另一种是通过包装,也就是在子类中添加父类的实例,然后提供包装后的方法,比如黑人与白人生出的孩子是灰人:
public interface Human{
public int getColor();
}
public class Black implements Human{
private int color=100;
public int getColor(){return color;}
}
public class White implements Human{
private int color=0;
public int getColor(){return color;}
}
public class Son implements Human{
private Human father, mather;
public Son(Human father, Human mather){
this.father=father;
this.mather=mather;
}
public int getColor(){
return (father.getColor()+mather.getColor())/2;
}
}
面积和周长的例子是通过接口实现多重继承一个很经典的例子
JAVA中没有多继承,可以通过实现多个接口达到你所说的目标