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