Manish, I read your Sep 2001 discussion about the JLS saying that private methods are implicitly final. I have the same concerns.
But my way of coping with the inconsistency is different from Jose�s explanation.
A final method can be treated differently by the compiler. The body of a final method can be inlined. (JLS 8.4.3.3) The
Java Programming Language says �The same optimizations can be applied to private and static methods, because they too cannot be overridden.� (JPL 3.6)
Therefore, I think a private method is implicitly final �in the sense� that the compiler can optimize both, but not �in the sense� that a method with the same signature can or cannot be declared in a subclass.