第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

java創(chuàng)建對象的語法,求解釋

java創(chuàng)建對象的語法,求解釋

桃花長相依 2019-03-01 10:35:37
Animal dog1 = new Dog();Dog dog2 = new Dog(); dog1 和 dog2 有什么區(qū)別嗎?最前面寫的 Animal 和 Dog的作用是什么?
查看完整描述

3 回答

?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊

多態(tài),這個(gè)涉及到 java 引用變量的 編譯時(shí)類型(申明變量時(shí)的類型) 和 運(yùn)行時(shí)類型(變量所引用的實(shí)際對象的類型)

Animal dog1 = new Dog();

關(guān)于編譯時(shí)類型:
dog1 被申明為 Animal,在編譯時(shí)也就是書寫代碼的時(shí)候,dog1 只能夠調(diào)用 Animal 中申明(不一定要實(shí)現(xiàn))的方法。
關(guān)于運(yùn)行時(shí)類型:
dog1 實(shí)際引用的對象類型為 Dog。如果 Dog 類中實(shí)現(xiàn)了或者重載了 Animal 中的方法,那么在運(yùn)行時(shí),dog1 實(shí)際調(diào)用的方法是 Dog 類中的方法。

dog2 兩種類型一致,不需要糾結(jié)~,寫的時(shí)候和運(yùn)行的時(shí)候是一致的。

查看完整回答
反對 回復(fù) 2019-03-01
?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊

設(shè)計(jì)模式中有一個(gè)原則,就是針對接口編程或者叫針對超類型編程。程序針對超類編程,執(zhí)行時(shí)會(huì)根據(jù)實(shí)際類型執(zhí)行到真正的行為,不要綁死在具體的類型上。

public class Main {
    public static void main(String[] args) throws UnsupportedEncodingException {
        Dog dog = new Dog();//針對實(shí)現(xiàn)編程
        Animal animal = new Dog();//針對接口/超類編程    
        Animal animal2 = getAnimal(1);//我不管對象是狗,還是貓,我只要知道它有doSomething()的行為,利用Animal進(jìn)行多態(tài)調(diào)用。
        animal2.doSomething();
    }
    public static Animal getAnimal(int type){
        if(1 == type){
            return new Dog();
        }else if(2 == type){
            return new Cat();
        }else{
            throw new IllegalArgumentException("非法類型");
        }
    }
}

class Animal{
    public void doSomething(){
        
    }
}

class Cat extends Animal{
    @Override
    public void doSomething() {
        System.out.println("cat do!");
    }
}

class Dog extends Animal{
    @Override
    public void doSomething() {
        System.out.println("dog do!");
    }
}
查看完整回答
反對 回復(fù) 2019-03-01
  • 3 回答
  • 0 關(guān)注
  • 1160 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)