Java 多态

假如想象 提交于 2019-11-30 05:04:26

多态的理解

多态分为静多态与动多态:
1)静多态:也称为编译时的多态,就是常说的方法重载,是在编译时刻就已经确定号具体调用方法的情况,是静态绑定的。
2)动多态:动多态方法调用需要有方法调用所作用的对象,在调用时才确定具体的调用方法,是动态绑定的。

换句话说多态就是同一个行为在不同情况下的不同表现形式,多态发生时有三个必要条件:(1)继承(2)方法重写(3)父类引用派生类的对象

多态的举例实现

1)写一个父类Food:

class Food {
    public void eat(){
        System.out.println("在吃饭");
    }
}

2)写一个子类TeaEgg:

class TeaEgg extends Food{
    @Override
    public void eat() {
        System.out.println("在吃茶叶蛋");;
    }
}

3)测试类:

public class Test {
    public static void main(String[] args) {
        Food food = new TeaEgg();
        food.eat();
    }
}

输出结果为:

在吃茶叶蛋

这一个简单的多态举例,体现了多态实现的三个必要条件:
(1)TeaEgg类继承了Food类;
(2)在TeaEgg类中重写了父类Food中的eat()方法;
(3)Food父类的引用指向了TeaEgg子类的对象:

	       Food food = new TeaEgg();              

即父类引用派生类的对象。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!