Examining Final
- final variable: This means the variable cannot be reassigned.
- final method in a class: This means the method cannot be overridden.
- final class: This means the class cannot be extended (subclassed).
Interfaces cannot be final. Their methods cannot be final, since you do generate subtypes from them.
- String is final.
- All wrappers for primitives are final.