As per my understanding, a class is declared as final to prevent it from being extended/inherited. So I see there can be security and probably some performance gains in this regard.
But is there a very specific design decision behind this? Say for eg: to realize some kind of design pattern? I did go around a similar thread here! but the answer was not really what I was looking for