gpt4 book ai didi

java - Java 中的非公共(public)顶级类

转载 作者:搜寻专家 更新时间:2023-11-01 01:00:01 24 4
gpt4 key购买 nike

在 Java 中将顶级类设置为非公共(public)的原因是什么?

假设我们有Foo.java,可能有

class Foo {
}

public class Foo {
}

我知道前一个例子会有一些类 - 可见性问题(可能它不会从其他包中可见)。但无论如何,有人可能想要像第一个代码示例中那样做的原因是什么?

UPD:我在前一个解决方案中看到的缺点:没有人关心它是非公开。稍后可以通过同一包中的其他一些 public 类简​​单地扩展该类,然后,该类的非公共(public)部分可能会给您带来可见性/访问问题。

最佳答案

这是一个例子。没有人需要知道我们的 ConcreteDocument 的存在。

DocumentIF.java

public interface DocumentIF {
}

ConcreteDocument.java

class ConcreteDocument implements DocumentIF {
}

DocumentFactory.java

public class DocumentFactory {
public DocumentIF createDocument() {
return new ConcreteDocument();
}
}

关于java - Java 中的非公共(public)顶级类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6996739/

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