请记住,您始终可以将Square实例分配给继承链上方的类型。然后,您可能需要将不太具体的类型转换为更具体的类型,在这种情况下,您需要确保您的转换有效:
Object p1 = new Square();Square c1;if(p1 instanceof Square) c1 = (Square) p1;

请记住,您始终可以将Square实例分配给继承链上方的类型。然后,您可能需要将不太具体的类型转换为更具体的类型,在这种情况下,您需要确保您的转换有效:
Object p1 = new Square();Square c1;if(p1 instanceof Square) c1 = (Square) p1;