In Java, when I override a method the compiler flags off any attempt to narrow down the visibility as an error. For ex: I can\'t override a public method as protected, while
While over ridding or implementing the access level, we should go for same access level or wider to that access level.
private < (default) < protected < public
Public is wider most level.
In Interface all members are default public. So, While implementing or over ridding we have to go for only public.