![]() |
1
4
我认为你正在寻找的东西相当于C++的朋友操作符。Java没有这个功能(理由很充分)。 根据这有多糟,您可以将公共构造函数标记为已弃用,并切换到仅用于包的工厂方法。然后在另两个版本中将构造函数改为package private 长短:一旦你向公众发布了一个API,你要么支持它,要么破坏它们的构建。 |
![]() |
2
1
您可以做的一件事是保持构造函数是公共的,但是将其注释为@Deprecated,并注释它不应该在包之外使用。 除了只有一个艰难的解决方案,那就是移除公众,让它崩溃,所以其他人需要修复他们的代码。你不会用这个动作结交新朋友,但一旦妖怪出局,就很难再回到瓶子里。现在比以后更好——想想像Integer(int)这样的原始包装的公共构造函数,Sun在那里得到的结果是非常错误的,并且以后不能收回它。 |
![]() |
3
0
|