有什么方法可以在 Java 中定义一个私有的 class,只有同一个包中的其他 class 才能访问它吗?
Is there any way to define a private class in Java which only other classes in the same package can access it?
我一直在想这个问题,为什么在 Java 的包中定义 private
classes 不像我们定义它的方式那样可行在 namespace
在 .Net
.
假设我的 Java 项目中有一个 ds
包。我在这个包中的 Stack
和 Queue
的名称中有两个 classes。这两个 classes 都需要在 ListNode
的名称中使用另一个 class。 ListNode
仅被 ds
包中的其他 classes 所需要,不应暴露给 ds
包之外的 classes。
我可以将 ListNode
定义为内部 classes。但是在这种情况下,我应该在Stack
和Queue
class中都定义它,而且它也是多余的。有什么设计模式可以解决这个问题吗?如果不是,请至少有人向我解释为什么这在 Java!
中是不可能的
我一直在想这个问题,为什么在 Java 的包中定义 private
classes 不像我们定义它的方式那样可行在 namespace
在 .Net
.
假设我的 Java 项目中有一个 ds
包。我在这个包中的 Stack
和 Queue
的名称中有两个 classes。这两个 classes 都需要在 ListNode
的名称中使用另一个 class。 ListNode
仅被 ds
包中的其他 classes 所需要,不应暴露给 ds
包之外的 classes。
我可以将 ListNode
定义为内部 classes。但是在这种情况下,我应该在Stack
和Queue
class中都定义它,而且它也是多余的。有什么设计模式可以解决这个问题吗?如果不是,请至少有人向我解释为什么这在 Java!