1700441700
1700441701
//母亲的温柔指数是8
1700441702
1700441703
public int kind(){
1700441704
1700441705
return 8;
1700441706
1700441707
}
1700441708
1700441709
}
1700441710
1700441711
父亲强壮指数是8,母亲温柔指数也是8,门当户对,那他们生的儿子、女儿一定更优秀了,我们先来看儿子类,代码如下:
1700441712
1700441713
class Son extends FatherImpl implements Mother{
1700441714
1700441715
@Override
1700441716
1700441717
public int strong(){
1700441718
1700441719
//儿子比父亲强壮
1700441720
1700441721
return super.strong()+1;
1700441722
1700441723
}
1700441724
1700441725
@Override
1700441726
1700441727
public int kind(){
1700441728
1700441729
return new MotherSpecial().kind();
1700441730
1700441731
}
1700441732
1700441733
private class MotherSpecial extends MotherImpl{
1700441734
1700441735
public int kind(){
1700441736
1700441737
//儿子温柔指数降低了
1700441738
1700441739
return super.kind()-1;
1700441740
1700441741
}
1700441742
1700441743
}
1700441744
1700441745
}
1700441746
1700441747
儿子继承自父亲,变得比父亲更强壮了(覆写父类strong方法),同时儿子也具有母亲的优点,只是温柔指数降低了。注意看,这里构造了MotherSpecial类继承母亲类,也就是获得了母亲类的行为方法,这也是内部类的一个重要特性:内部类可以继承一个与外部类无关的类,保证了内部类的独立性,正是基于这一点,多重继承才会成为可能。MotherSpecial的这种内部类叫做成员内部类(也叫做实例内部类,Instance Inner Class)。我们再来看看女儿类,代码如下:
1700441748
1700441749
class Daughter extends MotherImpl implements Father{
[
上一页 ]
[ :1.7004417e+09 ]
[
下一页 ]