???????????μ???????????????????????????????????????????????????????y?????????????????????????????У?extend????????????????????????????????????????????????MyInput?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
class MyInput extends ThirdPartyBaseClass implements SimpleInput {
@Override
public void foo() {
// do something ...
}
@Override
public void bar() {
SimpleInput.super.bar();
// do something additionally ...
}
}
??????????????????????????????Java 8???μ??????????????????????????????????????е??Щ?????????????????????????????????????????????η??????????
??????????????????????????????????????????????????????????????y??? ComplexInput ????????棬?????????? SimpleInput ?????????????μ???????????????????????????????????????????????????? SimpleInput ????????????????????????????????????????????????????????????????????顣
????interface ComplexInput extends SimpleInput {
????void qux();
????@Override
????default void bar() {
????SimpleInput.super.bar();
????// so complex?? we need to do more ...
????}
????}
?????μ???????????????Ч??????????? ThirdPartyBaseClass ?????????????????????????????????? ThirdPartyLibrary ??????? ComplexInput ????
??????????? MyInput ???????ζ?????????????????? ComplexInput ???????? ThirdPartyBaseClass ????????? SimpleInput ?????????????????????????????????????????????????????????????????Java??????????????????е???????????????????????????? ComplexInput ???????????????????????????????????MyInput?????y????????????????????????????????
?????????????Java???????????????????JVM??У?????????????????????????? SimpleInput::foo ?????????????????????и??o?? ThirdPartyBaseClass???????????????ComplexClass???????????????????????С?
?????????????????????????????????????????????????и??????????????????????????????????????????ó??????????????????????????????????????????Java???????API????????????????仯??????????????????в???????????????????????????????Java 7?????????????????????????????????????????е?????÷???б???????????????????????