我正在制作一个 SDK,我正在尝试将类分离到不同的包中,这些类使用其他一些共享类。问题是如果我将共享类(class)公开,每个人都可以看到它们,而不仅仅是我的类(class)。让它们只能由我的应用程序访问的正确方法是什么?
示例:
包一个 我的类(class)1
套餐b 我的类(class)2
套餐c 公共(public) MySharedClass
因为 c 是公共(public)的,MySharedClass 将能够访问它,但问题是它也将对世界可见,我该如何防止这种情况发生?
最佳答案
创建一个记录为内部包的包,不供客户使用。
在 Java 中没有办法让一个类只对某些包公开:它要么对每个人都是 public
要么是package-private(只在声明的包中公开).
我认为有一个关于模块的提案可以更好地控制类的可见性,但至少我们必须等待 Java 8。
关于java - 包装和可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8647565/