Aren't there any performance benefits if the class would be final itself?
For instance methods, potentially. For static methods, no. Knowing that a non-overridden instance method is in a final
class would potentially allow the method to be statically bound when called, rather than going through virtual dispatch, but static
methods are already statically bound (hence the name). It doesn't matter whether the class defining the static
method is final
or not, the call must be bound statically for all static
methods.