gpt4 book ai didi

java - 如果方法返回接口(interface),则返回什么?

转载 作者:行者123 更新时间:2023-12-02 05:52:16 24 4
gpt4 key购买 nike

我得到了一组接口(interface),并且必须创建一个实现这些接口(interface)的类,但是,我对引用其他接口(interface)的接口(interface)的返回类型感到困惑。

//实现下面的类 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;
}
}

对于具有返回类型接口(interface)的方法,我应该返回什么?我很困惑,因为你无法实例化接口(interface),所以我应该返回什么?

最佳答案

您需要编写一个实现该接口(interface)的类并返回该类的对象。

正如您的问题所述:您可以定义补充类,因此只需编写实现这些接口(interface)的类即可。对于抽象类,您必须扩展它们。

class Foo extends A {
// Override abstract method
}

由于类 C 已经实现了 XY,因此您可以只返回类 C 的对象(new C() ),其中需要 XY

关于java - 如果方法返回接口(interface),则返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23437839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com