I never understood and definitely never used the
final keyword in Java.
I saw it a lot in Giacomo’s code, when we worked together on a project a few years ago. I was intrigued, but never really grokked it at the time.
I don’t get to write a lot of Java, so when I recently got the opportunity to re-factor some code into a nice set of polymorphic classes I thought of looking at it again, and found this excellent article that helped me to understand it well enough to use it usefully in my code.