溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java多態(tài)向上轉(zhuǎn)型的方法

發(fā)布時(shí)間:2022-02-23 14:53:09 來源:億速云 閱讀:169 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Java多態(tài)向上轉(zhuǎn)型的方法”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“Java多態(tài)向上轉(zhuǎn)型的方法”文章能幫助大家解決問題。

1、直接賦值

public static void main(String[] args) {
        //父類引用 引用了 子類引用所引用的對(duì)象
        Animal animal = new Cat();;//向上轉(zhuǎn)型
}

2、方法傳參

把一個(gè)Cat的子類傳給一個(gè)Animal類型的父類,這里也是能發(fā)生向上轉(zhuǎn)型的。

public class Test extends TestDemo {
 
    public static void func(Animal animal) {
        
    }
    public static void main(String[] args) {
        //父類引用 引用了 子類引用所引用的對(duì)象
        Cat cat = new Cat();
        func(cat);
    }
}

3、方法返回

func方法的返回類型是Animal,但返回的確是一個(gè)Cat類型,這里也是發(fā)生了向上轉(zhuǎn)型。

public class Test extends TestDemo {
    public static Animal func() {
        Cat cat = new Cat();
        return cat;
    }
    public static void main(String[] args) {
        Animal animal = func();
    }
}

實(shí)例擴(kuò)展:

package multistate;

public class Human {

    public void sleep() {
        System.out.println("Human sleep..");
    }

    public static void main(String[] args) {
        Human h = new Male();// 向上轉(zhuǎn)型
        h.sleep();
        Male m = new Male();// 干嘛要向上轉(zhuǎn)型
        m.sleep();
        // h.speak();此方法不能編譯,報(bào)錯(cuò)說Human類沒有此方法
    }
}

class Male extends Human {
    @Override
    public void sleep() {
        System.out.println("Male sleep..");
    }

    public void speak() {
        System.out.println("I am Male");
    }
}

class Female extends Human {
    @Override
    public void sleep() {
        System.out.println("Female sleep..");
    }

    public void speak() {
        System.out.println("I am Female");
    }
}

關(guān)于“Java多態(tài)向上轉(zhuǎn)型的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI