public abstract class TestAbstract extends AppCompatActivity {
public abstract String OnCallTestAbstract();
public void CallInf(TestInterface t) {
t.OnCallTestInterface("------回調接口挟炬,返回子類現(xiàn)實抽象類的值:"
+OnCallTestAbstract());
}
}
public interface TestInterface {
void OnCallTestInterface(String s);
}
public class Test extends TestAbstract implements TestInterface {
@Override
public String OnCallTestAbstract() {
return "hello world";
}
@Override
public void OnCallTestInterface(String s) {
System.out.println(s);
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CallInf(this);
}
}
運行后輸出------回調接口月弛,返回子類現(xiàn)實抽象類的值:hello world
上面簡單的列子是Test繼承了TestAbstract弦叶,現(xiàn)實了接口TestInterface尊沸。
1威沫,子類實現(xiàn)了父類的抽象方法OnCallTestAbstract,理解是不同的子類可以做不同的操作洼专。即父類發(fā)送指令給子類去完成任務棒掠。
2,子類實現(xiàn)回調接口TestInterface屁商,理解不同的子類需要得到父類相同的操作烟很,來保證一致性。即子類發(fā)送給父類指令棒假,父類完成后告訴子類溯职。當然不同的類可以通過接口來做一些回調。