2

这是关于 SWT UI 编程中的 GridData 类。为什么 GridData 应该是 final 的?

GridData 的 Java Doc 说它是最终的。我想了解为什么它应该是最终的。

感谢和问候

4

2 回答 2

2

坦率地说,没有理由不成为最终的,API 程序员的常见行为是制作所有未确定扩展的类。

阅读什么时候应该使用final?在适用于 java stackoverflow 问题时使用“final”修饰符以获取更多信息。它还与SWT 子类化常见问题解答有关。

于 2011-07-06T07:13:48.733 回答
0

巫师是对的。从 API 的角度来看,您总是希望将所有内容都定为最终版本,以防止 API 未来扩展,因为有人在他们的子类化中很有创意......

在这个特定的例子中,原因很可能是设计者在将来可能需要类中的其他成员。例如,在当前版本中有minimumHeightand ,但没有and也可能有意义...但是如果您或其他人扩展了具有这些确切名称的私人成员怎么办?然后 API 扩展将无法向前兼容,并且许多代码可能会以这种方式破坏。minimumWidthmaximumHeightmaximumWidthGridData

于 2011-07-07T21:01:18.130 回答