第一个问题在Java中可以通过两种方式实现多态:通过类继承:class A extends B通过接口实现:class A implements C。在后一种情况下,为了正确实现 A 的行为,可以通过组合来完成,使 A 委托执行接口 C 中指定的任务的其他类/es。示例:假设我们已经有一些实现接口 C 的类:class X implements C{ public String getName() {...} public int getAge() {...}}我们如何创建一个实现 C 的新类,其行为与 X 相同?像这样:class A implements C{ private C x=new X(); public String getName() {return x.getName();} public int getAge() {return x.getAge();}} 第二个问题不,多态不是方法重载和/或方法覆盖(实际上,重载与面向对象设计无关):方法重载包括创建一个与同一类中的其他(可能继承的)方法同名但具有不同签名(=参数编号或类型)的新方法。添加新方法是可以的,但这不是多态的目的。方法覆盖包括将新主体设置为继承的方法,以便此新主体将在当前类中执行,而不是在继承方法的主体中执行。这是多态的一个优点,但也不是它的基础。简而言之,多态是一个类用作不同类/接口的能力。