简短的答案是-它是私有形式的一种。
我假设你熟悉的区别
public和
private,以及为什么它通常是很好的做法,使方法和变量
private,如果他们要单独用于内部问题的类。
好吧,作为对此的扩展-如果您正在考虑以模块化方式创建软件,则可以考虑 模块 的公共接口,该 模块
内部将具有多个相互协作的类。在这种情况下,
public如果要由消费者调用方法,则完全有道理。
private如果他们在班级内部;以及
packageprivate是否使用它们在此模块中的类之间进行调用,即它是模块的实现细节(如公共调用者所见),但跨越多个类。
实际上很少使用这种方法,因为包装系统对于这种事情并不是那么有用。您必须将给定模块的所有类都转储到完全相同的程序包中,对于那些不重要的事情,这将变得有些笨拙。因此,这个主意很棒-
使一个方法只能供少数“附近”类访问,
private而后者要稍宽一些-但对如何定义该类集的限制意味着该方法很少使用/有用。



