We use final locals to encourage/enforce immutability (which is also polite to the compiler). Final methods prevent subclasses from overriding, which in many cases hampers testing and expected reuse. 

There are places where final classes and methods are appropriate, but a nearly abstract base class probably isn't one of them :D