une qui ne l'est pas et doit être
La plupart des final les classes en java sont conçus de telle sorte en raison w/ considérations sur la sécurité à l'esprit, dans l'ensemble il y a relativement peu de finales. Par exemple, java.util.String
est définitive pour cette raison. Il en est beaucoup d'autres.
Certaines classes w/ privé c-tor sont déclarées final (en Mathématiques, StrictMath), mais il n'a pas d'importance dans ce cas.
Fondamentalement, sauf s'il existe des problèmes de sécurité, je ne m'inquiète pas si la classe est finale, mais vous pouvez toujours utiliser le non-public c-tor w/ une usine, a pour effet de limiter la capacité de la sous-classe. Habituellement, c'est ma manière préférée car elle permet de colis-privé sous-classement.
En bref: je ne peux pas penser à une classe finale qui ne devrait pas être, cependant, il ya certains qui pourraient avoir été. Par exemple, java.lang.Thread
finale pourraient ne pas avoir besoin de protéger vs malveillant clone()
.