我給了一組接口,並且必須創建一個實現這些接口的類,但是,我對引用其他接口的接口的返回類型感到困惑。如果方法返回接口,返回什麼?
//實現下面的類C,以便代碼編譯。沒有任何方法可能返回null。 //如果您願意,您可以定義補充類(內部類或「常規」類)。 //注意C是Object的一個子類,它只實現X和Y--你不能改變它。
abstract class A {
abstract void q();
}
interface Y {
int p (int j);
A me();
}
interface X {
void m (Object o);
X n();
}
class C implements X, Y {
// Write your code here -- make all methods public (otherwise,
// the compiler will not consider the interfaces to be "implemented")!
@Override
public int p(int j) {
// TODO Auto-generated method stub
return 0;
}
@Override
public A me() {
// TODO Auto-generated method stub
return null;
}
@Override
public void m(Object o) {
// TODO Auto-generated method stub
}
@Override
public X n() {
// TODO Auto-generated method stub
return null;
}
}
我想爲具有返回類型接口的方法返回什麼?我很困惑,因爲你不能實例化接口,所以我想返回什麼?
您返回實現接口的類的instanciation。例如,'List'接口由'ArrayList'等實現。如果一個方法返回一個'List',返回一個'ArrayList'是一個有效的解決方案。 – AntonH
雖然我的類沒有實現A類。 – helloMundo
如果您創建了匿名類,則可以提供對接口的引用。 'Runnable run = new Runnable(){}'。您的界面中的方法將存儲在您的變量中。這不是爲一個接口提供插件,而是給你的接口中包含的方法提供一些參考。 –