gpt4 book ai didi

java - 实现类只有一个,为什么要用接口(interface)?

转载 作者:搜寻专家 更新时间:2023-10-30 20:53:59 25 4
gpt4 key购买 nike

我是编程新手,正在学习 Java。我只是想知道为什么只有一个实现类时要使用接口(interface)?

最佳答案

您这样做是为了防止其他人访问您的实现类型。例如,您可以将您的实现类型隐藏在一个库中,为该类型提供包访问权限,并将您的接口(interface)实例返回给您的库的用户:

// This is what the users of your library know about the class
// that does the work:
public interface SomeInterface {
void doSomethingUseful();
void doSomethingElse();
}

// This is the class itself, which is hidden from your clients
class MyImplementation implements SomeInterface {
private SomeDependency dependency = new SomeDependency();
public void doSomethingUseful() {
...
}
public void doSomethingElse() {
...
}
}

您的客户获得这样的对象:

public class MyFactory {
static SomeInterface make() {
// MyFactory can see MyImplementation
return new MyImplementation();
}
}

当实现使用大量库时,这个技巧会很有用。您可以有效地将库的接口(interface)与其实现分离,这样用户就不必了解库内部的依赖关系。

关于java - 实现类只有一个,为什么要用接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35277358/

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