Java 模块:可以访问对象但无法创建对象

Java Modules: Have access to a access to an object but unable to create the object

假设我有 2 个模块。

一个叫 "Receiver",一个叫 "Modifier"。

在接收器模块中,我有一个名为 "com.danii.Receiver" 的包,其中有一个名为 "DataReceiver" 的 class。我在 Receiver 模块中有另一个名为 "com.danii.Entities" 的包,其中有一个名为 "Data" 的 class。 Receiver 模块目前仅导出 com.danii.Receiver.

classDataReceiver,当我在其中运行一个函数时,会创建一个新的Data对象,并将其发回。

在我的修改器模块中,我将其设置为需要 com.danii.Receiver,并且我希望通过 DataReceiver 接收一些数据。我尝试这样做,但无论我做什么我都无法读取它,因为它无法访问数据 class.

我怎样才能读取 DataReceiver 给我的数据,但仍然无法创建数据?

允许您保留当前结构的大多数方面的一个选项是使用另一个导出包,该包具有由 Data 实现的接口(我现在将其称为 IData)。然后 DataReceiver 可以 return 一个 IData 对象(实现仍然是通过数据 class)。 IData 可以在它自己的导出包中,也可以在您已经导出的 Receiver 包中。