多态

2019-06-26 19:01 更新

多态 定义:

多态是同一个行为具有多个不同表现形式或形态的能力。

理解方法: 以Animal、Dog、Cat类为例,它们都有eat方法,如果使用以下代码:

Animal animal = new Dog();
animal.eat();
animal = new Cat();
animal.eat();
java执行流程:
java会先看Animal中是否有eat方法的定义:{
    如果没有则会报错;
    如果有则java会再看实例化对象的类中是否有eat方法的实现{
        如果没有则java会看Animal中是否有eat方法的实现{
            如果没有则会报错;
            如果有则会调用;
        }
        如果有则会调用实例化对象的类中的eat方法。
    }
}

以下为Animal为类、抽象类、接口时的代码示例: 1.Animal为类时代码示例:

class Animal{
    public void eat() {
        System.out.println("Animal吃东西。");
    }
}
class Dog extends Animal{
    public void eat() {
        System.out.println("Dog吃东西。");
    }
}
class Cat extends Animal{
    public void eat() {
        System.out.println("Cat吃东西。");
    }
}

2.Animal为抽象类时代码示例:

abstract class Animal{
    public abstract void eat();
}
class Dog extends Animal{
    public void eat() {
        System.out.println("Dog吃东西。");
    }
}
class Cat extends Animal{
    public void eat() {
        System.out.println("Cat吃东西。");
    }
}

3.Animal为接口时代码示例:

interface Animal{
    public void eat();
}
class Dog implements Animal{
    public void eat() {
        System.out.println("Dog吃东西。");
    }
}
class Cat implements Animal{
    public void eat() {
        System.out.println("Cat吃东西。");
    }
}
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号