换个思路,Java还是可以实现多继承的,看看怎样利用内部类实现多继承?请看代码
- 下面看看子女怎样继承父亲的强壮和母亲的温柔。
public interface Father {
/***
* @return: int 父亲的强壮指数,越高越强壮
*/
int strong();
}
public interface Mother {
/***
* @return: int 妈妈的温柔指数,越高越温柔
*/
int gentle();
}
public class FatherImpl implements Father {
@Override
public int strong() {
return 10;//十分强壮的老爸才能配上十分温柔的妈妈
}
}
public class MotherImpl implements Mother{
@Override
public int gentle() {
return 10;//十分温柔的妈妈才能配上十分强壮的老爸
}
}
利用内部类实现的多继承
/***
* 儿子继承爸爸的强壮和妈妈的温柔
* @author Administrator
*/
public class Son extends FatherImpl implements Mother {
@Override
public int strong() {
return 10+2;//儿子更强了
}
@Override
public int gentle() {
return new MotherSpecial().gentle();//实现继承妈妈的温柔
}
/***
* 内部类实现继承妈妈的温柔
*/
private class MotherSpecial extends MotherImpl {
@Override
public int gentle() {
return 10-2;//儿子的温柔值降低了
}
}
}