我正在构建一个包含不同包的java库。现在的问题是,我希望跨包访问java成员(类,方法和字段),但不需要将它们(从JAR文件)公开到最终级别到客户端。例如
Class B in Package B
应该访问Class A in Package A
我找到的一种可能方案是为protected
成员声明Class A
访问说明符,并通过将Class B
扩展为Class A
来访问Class B
中的成员。 我的问题是,这是我在java中实现它的唯一方法吗?
如果我不想从JAR公开A类(公共)怎么办?在C#中,我们使用"内部"它将在CSharp库项目中提供访问权限,但不会从二进制文件(dll)或程序集文件中公开到最终级别。
答案 0 :(得分:1)
不,没有这样的事情。你必须采取不同的方法。有一个 ton 的选项,在一个答案中有太多的东西无法解决,但我只是一些的基本想法:
但你 将不得不在这里进行一些重组。如果你开始添加各种黑客来解决它现在可能已经足够了,但你可能会在以后后悔。最好在第一次尝试尽可能正确地完成工作。