Java中的多态是指同一个引用类型在不同实例上表现出不同行为的现象。具体来说,多态在Java中主要体现为以下两个方面:因继承产生的多态:当子类继承父类,并覆盖了父类中的方法时,通过父类的引用调用该方法,会表现出不同的行为,具体行为取决于该引用的实际对象类型。例如,在给出的代码中,class B...
java中什么是多态
Java中的多态是指同一个引用类型在不同实例上表现出不同行为的现象。具体来说,多态在Java中主要体现为以下两个方面:
因继承产生的多态:
当子类继承父类,并覆盖了父类中的方法时,通过父类的引用调用该方法,会表现出不同的行为,具体行为取决于该引用的实际对象类型。例如,在给出的代码中,class B 和 class C 都继承了 class A,并覆盖了 dosome 方法。当通过父类 A 的引用 b 和 c 分别指向 B 和 C 的实例时,调用 b.dosome 和 c.dosome 会分别输出“子类B”和“子类C”,这就是多态的表现。方法重载产生的多态:
方法重载是指在同一个类中,允许存在多个方法具有相同的名字,但参数列表不同。这种多态性主要体现在编译时,编译器会根据调用方法的参数类型和数量来确定具体调用哪一个方法。需要注意的是,虽然方法重载也表现出多态性,但它与因继承产生的多态在本质上是不同的。因继承产生的多态主要体现在运行时,即动态绑定,而方法重载的多态性在编译时就已经确定。重点内容: 多态:同一个引用类型在不同实例上表现出不同行为。 因继承产生的多态:子类覆盖父类方法,通过父类引用调用时表现出不同行为。 方法重载产生的多态:同一个类中方法名相同但参数列表不同,编译时确定具体调用方法。
2025-05-21