java博客作业期中:多态
什么是多态?
多态是同一个行为具有多个不同表现形式或形态的能力。多态性是对象多种表现形式的体现。
java中的多态?
多态就是同一个接口,使用不同的实例而执行不同操作。
一、多态的特点
多态存在的三个必要条件:
继承
重写
父类引用指向子类对象:Parent p = new Child();//Parent父类,Child子类
为了多态而存在的虚函数:
Java 中其实没有虚函数的概念,它的普通函数就相当于 C++ 的虚函数,动态绑定是Java的默认行为。
(虚函数:虚函数是在类中被声明为virtual的成员函数,当编译器看到通过指针或引用调用此类函数时,对其执行晚绑定,即通过指针(或引用)指向的类的类型信息来决定该函数是哪个类的。)
二、多态的使用
重写:
由于之前的学习,已知方法的重写。也就是子类能够重写父类的方法。当子类对象调用重写的方法时,调用的是子类的方法,而不是父类中被重写的方法。要想调用父类中被重写的方法,则必须使用关键字 super。
父类引用子类对象调用子类重写的方法例子:
package Shuiguo;
public class shuiguo{ // 父类
public void name() {
System.out.println(“水果”);
}
}
class Apple extends shuiguo{//子类
@Override
public void name() {
System.out.println(“apple”);//重写父类的方法
}
}
class Banana extends shuiguo{//子类
@Override
public void name() {
System.out.println(“banana”);//重写父类的方法
}
}
package Shuiguo;
public class test {
static void shuiguoName(shuiguo a) { //父类引用子类对象调用子类重写
a.name();
}
public static void main(String[] args) {
Apple apple = new Apple();
shuiguoName(apple);
}
}
结果 :
apple