gpt4 book ai didi

java - 库级别访问修饰符

转载 作者:行者123 更新时间:2023-12-01 14:04:18 25 4
gpt4 key购买 nike

我正在创建一个库(android)。我把东西作为包裹保存,比如com.domain.libname.datamodel; com.domain.libname.exceptions;等等

我希望能够自由地初始化我的库中的一些数据模型对象,这些对象可供公众读取,但公众不应初始化这些对象。虽然“package”访问修饰符在包内执行此操作,但我想在同一项目/库中的包之间执行此操作。

有办法吗?或者这是否表明我没有以正确的方式包装东西?

最佳答案

Java 中的包结构是扁平的:如果您希望某些东西在包外部可见,那么它将对所有包都可见;无法限制对“子包”或具有特定前缀的包的可见性。

我的观点是,一个包应该实现一个功能,以便必须合作的类可以这样做,而不必向外部暴露不必要的缺陷。这意味着您不会有“人工”包,例如“数据模型”或“异常”;相反,数据模型和异常将位于实际需要它们来实现一组用例的包中。但我可以看到在大型应用程序或库中这可能变得不切实际。

关于java - 库级别访问修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19049623/

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