Why java doesn't allow to make an instance method of parent class as more restrictive in child class <p>Polymorphism allows the programmer either to inherit, override or to overload an instance method of Parent Class. </p> <p>But, it won't allow to make an instance method of parent class as more restrictive in child class. i.e it wont allow to use same name of parent class instance method, to declare as private in the child class.</p> <p>Also JVM identifies the parent class version of an instance method, if child class didn't override it.</p> <p>Similarly why don't JVM identifies the parent class version of an instance method, if the child class makes it more restrictive?</p> <p>The more restrictive method of parent class in child class can be considered as child class specific method instead of overridden method by compiler.</p>