Posts

Rules for Overriding the Method in Java

The argument list must exactly same that of the overridden method. If they don't match, you can end up with an overloaded method. The return type must be the same as, or a sub-type of, the return type declared in the original overridden method in the super-class (also called co-variant return type). Instance methods can be overridden only if they are inherited by the subclass. A subclass within the same package as the instance's super-class can override any super-class method that is not marked private or final. A subclass in a different package can override only those non-final methods marked public or protected (since protected methods are inherited by the subclass). The overriding method can throw any unchecked (run-time) exception, regardless of whether the overridden method declares the exception. The overriding method must not throw checked exceptions that are new or broader than those declared by the overridden method. For example, a method that