多態(tài)

2019-06-26 19:01 更新

多態(tài) 定義:

多態(tài)是同一個行為具有多個不同表現(xiàn)形式或形態(tài)的能力。

理解方法: 以Animal、Dog、Cat類為例,它們都有eat方法,如果使用以下代碼:

Animal animal = new Dog();
animal.eat();
animal = new Cat();
animal.eat();
java執(zhí)行流程:
java會先看Animal中是否有eat方法的定義:{
    如果沒有則會報錯;
    如果有則java會再看實例化對象的類中是否有eat方法的實現(xiàn){
        如果沒有則java會看Animal中是否有eat方法的實現(xiàn){
            如果沒有則會報錯;
            如果有則會調(diào)用;
        }
        如果有則會調(diào)用實例化對象的類中的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吃東西。");
    }
}
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號