This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
From a practical sense, if the compiler allowed you to assign a reference to a Display instance to a Disp1 reference variable as in:
you could call the method a.disp1(), which is in the Disp1 class - not the Display class. But the instance you created is a Display. So at runtime, the JVM would at best throw an exception and at worst, crash.