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

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

Java不同的引用類(lèi)型和類(lèi)對(duì)象

Java不同的引用類(lèi)型和類(lèi)對(duì)象

胡說(shuō)叔叔 2021-06-15 17:35:29
如果A abc = new B()和A,B類(lèi)有繼承關(guān)系,使用引用類(lèi)型A而不是B,如果B使用,有什么好處?還有哪些方法現(xiàn)在可以B訪問(wèn)對(duì)象(所有A和B方法或其他)?此外,如果 A 和 B 都有相同的方法,B 會(huì)覆蓋它,但是如果它們有不同的方法,對(duì)象可以在這里訪問(wèn)誰(shuí)的方法?
查看完整描述

2 回答

?
萬(wàn)千封印

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

假設(shè)你有:


public class A {


    public void a(){


    }

}


public class B extends A{


    public void b(){


    }

}

你不能使用 B b = new A();


您可以使用A a = new A();Here you have access toa()方法。


您可以使用A a = new B();Here you have access toa()方法。


您可以使用B b = new B();Here 您可以訪問(wèn)這兩種a(), b()方法。


那么有什么好處A a = new B()呢?


假設(shè)您有類(lèi) B、C、D、E,并且它們都擴(kuò)展了類(lèi) A 或?qū)崿F(xiàn)了接口 A?,F(xiàn)在您可以A a = new B(); A a = new C(); A a = new D()在運(yùn)行時(shí)檢查類(lèi)型,然后將對(duì)象轉(zhuǎn)換為特定的類(lèi)類(lèi)型,因此您無(wú)需聲明每種類(lèi)型有 3 個(gè)變量。所有 A 類(lèi)型變量都有一個(gè)容器(變量),它也是子(B、C、D)。


查看完整回答
反對(duì) 回復(fù) 2021-06-30
?
慕工程0101907

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

我們以 Java Collections API 為例。為簡(jiǎn)潔起見(jiàn),請(qǐng)考慮以下層次結(jié)構(gòu):

Collection -> ArrayList

現(xiàn)在,這些陳述是有效的:

  • 的實(shí)例Collection可以使用該方法isEmpty()。

  • 的實(shí)例ArrayList可以使用方法isEmpty()add()

現(xiàn)在這取決于您想對(duì)實(shí)例做什么。如果您需要添加新元素,請(qǐng)使用允許它的實(shí)現(xiàn)。如果沒(méi)有,最好使用您真正需要的最小實(shí)現(xiàn)或?qū)ο蟆?/p>

示例:如果您需要從 DAO 返回的 List 的大小,請(qǐng)使用Collection替代List或其任何實(shí)現(xiàn):

Collection collection = dao.getListFromDatabase();

int size = collection.size();


查看完整回答
反對(duì) 回復(fù) 2021-06-30
  • 2 回答
  • 0 關(guān)注
  • 260 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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