【问题标题】:Hiding libs packages to implementators向实现者隐藏库包
【发布时间】:2017-01-09 08:14:50
【问题描述】:

正在编写一个库,其中我有一个包含多个类的包,其中一个类是最终类 Point( 被许多其他类使用,但在其包之外没有公共访问权限 在这种情况下 com.ve.free)

现在当我导入最终的 jar 时,我意识到如果使用我的 lib 的开发人员也在其项目中创建了一个包 com.ve.free,那么他可以 也使用我的班级点...

我认为这是我的代码中的一个漏洞,但我该如何避免呢?

提前谢谢..

【问题讨论】:

    标签: java packages visibility


    【解决方案1】:

    通常这不是问题。可见性修饰符可以保护我们免受意外错误的影响。如果有人故意破坏规则,那是无能为力的。

    但是,如果您真的想要您所要求的,您可以设计您的库以使用自定义类加载器。您所有的秘密类都应该加载到这个自定义类加载器中。不幸的是,它不会保护您免受reflection 的侵害。

    但你应该认为,利润大于成本吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多