gpt4 book ai didi

java - 如何制作私有(private)套餐?

转载 作者:行者123 更新时间:2023-12-02 01:37:12 26 4
gpt4 key购买 nike

我正在做一个图书馆。我有三个包:

enter image description here

电子表格是主包。 io 包是一个供内部使用的内部包。不幸的是,用户可以访问它们,因为它们是公共(public)类。

我想保留这个包,因为它允许我在编程时分离概念,但我想向最终用户“隐藏”这些类。

我能做什么?

最佳答案

你问自己这个问题是件好事!我最近没有看到对此有太多关注。

由于OdsReaderOdsWriter仅在Spreadsheet类中使用,因此只需将它们移动到spreadsheet包中,删除公共(public)可见性关键工作。现在只能从 spreadsheed 包的类访问它们。

上面提出的解决方案对于您的用例来说过于复杂,并且是使用 Java 9+ 模块(或 OSGi - 请不要!) ,在这里并不是真正必要的,但它仍然是维护定义私有(private)和密封的一个进步,即使对于 Reflection 滥用者来说也是如此。

<小时/>

作为旁注,我看到您有一个异常(exception)包。
我从不建议这样做,因为您必须向代码的用户公开这些异常的构造函数,并且他们将能够出于没有充分的理由实例化它们。

将异常移至使用它们的包内,并将构造函数声明为包私有(private)。

关于java - 如何制作私有(private)套餐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55076665/

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