java - 为什么分包看不到包私有(private)类?

标签 java inheritance package organization

好的,我有这个项目结构:

包 A.B

  • class SuperClass(这个类被标记为 package private)

包A.B.C

  • 子类(继承自父类(super class))

我不想让 SuperClass 公开可见...它实际上只是这个特定项目 (A.B) 的实用程序类。

在我看来,SubClass 应该可以看到 SuperClass,因为包 A.B.C 是 A.B 的子包...但事实并非如此。

解决此问题的最佳方法是什么?我认为将 A.B.C 中的所有内容移至 A.B 或将 A.B 移至 A.B.C 是没有意义的...主要是因为可能会有一个 A.B.D 也继承自 A.B 中的内容...

我对 Java 有点陌生,所以请保持友好 :D(我是 C++ 和 .NET 专家)

最佳答案

包是唯一的标识符。你不能让他们遵循继承规则。包和子包与父类(super class)和子类不同。

我看不出有什么缺陷可以让你想在子包中使用的类对外界可见。我很想知道这个标准在 C++/.net 中是如何处理的(因为我是一个 java 人 :))

关于java - 为什么分包看不到包私有(private)类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2489096/

相关文章:

java - 使用 Google 反射库检索项目中所有包的列表?

java - 是否可以在站点生命周期内只运行 JaCoCo maven 插件?

c++ - 类变量的前向声明

c++ - 丢失我继承类的重写功能 : casting to base class, 然后通过引用传递

java - 在Java中访问子类中父类(super class)的 "final"字段(并更新它们)

linux - 从源代码构建 RPM,如何在规范文件中安装构建所需的包

linux - 如何安装 TCL 软件包 textutil、tdom 和 udp?

java - 31 个客户端之一的 Appengine Endpoints Android 客户端中的 SSLProtocolException

java - 如何使用先进方法

java - 如何判断GAE拉取队列中是否已经存在任务?