将类添加到第三方依赖项/包是不好的做法? (Java)的

时间:2018-02-09 18:05:54

标签: java oop android-gradle

我有一个来自第三方依赖项的交互客户端,我需要使用的服务。一些行为不适合我的用例,我想尝试扩展或只是为它重写一个适配器,但我需要的许多方法或变量都受到保护。我应该只写一个属于该包的类来访问它们吗?我没有听说过明确声明,但它似乎首先打败了包的目的。

2 个答案:

答案 0 :(得分:6)

我会说这是一个非常糟糕的主意。你永远不应该以任何方式修改第三方JAR。你最好考虑把它们密封起来。

原因有两方面:

  1. 您可能会破坏依赖项代码。
  2. 您修改第三方JAR的那一刻,您必须以相同的方式修改每个更新。
  3. 您可以自由扩展第三方课程,只要它没有标记为final。但如果您这样做,它将成为您的代码的一部分。您可以随时提供该第三方JAR的新版本。

答案 1 :(得分:0)

如果方法和变量受到保护,您可以使用自己的实现扩展该类。子类能够访问父类的受保护变量和属性。

您的实施不需要在同一个包中。