讓我用一個例子來說明我的問題。假設我有一個interface I
,其中定義了abc()
的方法。我有另外兩個類說A
和B
它實現我並覆蓋abc()方法。
現在的問題是,爲什麼我們的用戶界面僅僅定義方法,而不是直接在類中實現,而不定義和實現接口?像...爲什麼我們使用Interface來定義方法並在Concrete Class中實現和定義它的主體?
interface I{
public void abc();
}
class A implements I{
@Override
public void abc() { ... }
}
class B implements I{
@Override
public void abc() { ... }
}
,而不是
class A {
public void abc() { ... }
}
class B {
public void abc() { ... }
}
小例子的解釋會很有幫助。謝謝。