这是关于SWT UI编程中的GridData类。为什么GridData应该是最终的?
GridData的Java Doc说它是最终的。我想明白为什么它应该是最终的。
感谢和问候
答案 0 :(得分:2)
坦率地说,没有理由不是最终的,API程序员的常见行为是制作所有未确定要扩展的类。
阅读When should one use final?和Using “final” modifier whenever applicable in java stackoverflow问题以获取更多信息。它还与SWT subclassing FAQ有关。
答案 1 :(得分:0)
Sorceror是正确的。从API的角度来看,您始终希望将所有内容都设置为最终版,以防止API的未来扩展,因为有人在其子类中具有创造性......
在这个特定的例子中,原因很可能是设计师虽然在将来可能需要其他成员。例如。当前版本中有minimumHeight
和minimumWidth
,但没有maximumHeight
和maximumWidth
也可能有意义......但是,如果您或其他人延长了{ {1}}私人会员是否拥有这些确切的名字?然后,API扩展将不会向前兼容,并且许多代码可能会以这种方式破解。