繁体   English   中英

如何返回类型接口

[英]How to return type Interface

我目前正在研究一个带有二叉树的项目,并且已经从存储库中获得了用于打印树的代码。

长话短说,如果我可以在我的代码中实现一个接口,它将以我想要的格式打印出来。

然而,其中之一需要接口类的异常返回。 (见下文)

@Override
public IBT getLeft() {

    return null;
}

这是获取左子树的方法,其中 IBT 是二叉树接口。

这比我制作的更简单吗?

返回接口有什么帮助吗?

getLeft方法可以返回任何实现IBT (如果它是一个接口)或扩展IBT (如果它是一个类)的类。


例如。 假设我有接口Foo和两个实现, FizzBuzz

public interface Foo { }

public class Fizz implements Foo {}
public class Buzz implements Foo {}

FizzBuzz类现在可以代替Foo使用,因为它们实现了Foo接口。

现在说我有一个方法需要我返回Foo对象。

public interface Bar {
    Foo getFoo();
    Foo getAnotherFoo();
}

你不能直接创建一个Foo对象,因为它不是一个类。 但是,您可以改用FizzBuzz类。

public class BarImpl implements Bar {
    @Override
    public Foo getFoo() {
        return new Fizz();
    }
    @Override
    public Foo getAnotherFoo() {
        return new Buzz();
    }
}
interface Foo{void display();}

public class TestFoo implements Foo
{void display(){System.out.println(“Hello World”);}

public static void main(String[] args){Foo foo = new TestFoo();foo.display();}}

我认为这很有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM