hi.. It is being said that static methods cant be overriden as static methods are methods of the class and doesnot belong to any object.
but at line 15 and line 24 static method defined in superclass is strictly obeying rules of overriding.
at line 15 its not letting declare any checked exception which is not defined in superclass method
at line 24 its not letting change only the return type as void is the subtype.
if static methods are methods of classes why am i not able to declare a method with same name but diffrenent return type or checked exception, why is the method behaving as if it were overriden.
Well your code currently does not compile for a different reason ... you have duplicate methods in your SubClass. You cannot define a method with the same name and argumnent list more than once in the same class.
However, if you only had 1 mymeth() method in your subclass ... then this question has been asked and answered before. Here is the LINK Another concept you need to understand is overriding vs hiding. Read this ARTICLE for details.