Originally posted by Edisandro Bessa:
...Once you declared a method as abstract, the compiler obligates you to declare the entire class as abstract.
So a final class containing an abstract method would be forced to be declared as final abstract class MyClass which for sure is illegal.
This is exactly right. If you declare an abstract method without declaring the class as abstract, you get the error, "ClassName is not abstract and does not override abstract method methodName..."
But then if you declare the final class as abstract, you get the error, "illegal combination of modifiers: abstract and final..."