0
我現在正在學習JAVA。 當我們把界面這個樣子,有時我們創建對象這樣爲什麼我們在JAVA中使用這段代碼?
示例代碼: -
interface test01{
public boolean A(int i);
public int B(int a);
public String C (String c);
}
class ttt implements test01{
public boolean A(int a){
return true;
}
public int B(int a){
return a;
}
public String C(String c){
return c;
}
}
public class Interface_test {
public static void main(String[] args) {
ttt t1 = new ttt();
System.out.println(t1.A(1));
System.out.println(t1.B(1));
System.out.println(t1.C("C"));
test01 tt = new ttt();
System.out.println(tt.A(1));
System.out.println(tt.B(1));
System.out.println(tt.C("C"));
}
}
爲什麼我們使用這樣
模式這段代碼的結果是相同的 但我想知道"test01 tt = new ttt();"
,而不是
"ttt t1 = new ttt();"
請讓我知道...
謝謝!
請參閱此鏈接:[Interface as a type in Java?](http://stackoverflow.com/questions/7275844/interface-as-a-type-in-java) –
他們只是想解釋你可以使用對接口的引用或接口的實現,但是你總是必須創建一個實現的實例而不是接口。 – cralfaro
從上面的DUP可能不是100%清楚的一點:你只是想**減少你的代碼對任何東西的知識。例如:有一個java.util.Set **接口**,用於描述集合的基本行爲。然後有各種類實現該接口。在99%的時間裏,**創建了一些設置對象之後,您並不在乎實際使用的是什麼樣的**底層**類。您要**的唯一依賴**是:它是一些對象實現Set接口! – GhostCat