代码之家  ›  专栏  ›  技术社区  ›  Danii

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

  •  1
  • Danii  · 技术社区  · 7 年前

    一个叫“接受者”,一个叫“修饰者”。

    在Receiver模块中,我有一个名为“com.danii.Receiver”的包,其中有一个名为“DataReceiver”的类。我在接收模块中还有另一个包,名为“com.danii.Entities”,其中有一个类名为“Data”。接收器模块当前仅导出com.danii.Receiver。

    当我在类DataReceiver中运行一个函数时,它将创建一个新的数据对象,并将其发回。

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

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ryan Cogswell    7 年前

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

    推荐文章