亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java不同的引用類型和類對象

Java不同的引用類型和類對象

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

2 回答

?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

假設你有:


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 您可以訪問這兩種a(), b()方法。


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


假設您有類 B、C、D、E,并且它們都擴展了類 A 或實現了接口 A。現在您可以A a = new B(); A a = new C(); A a = new D()在運行時檢查類型,然后將對象轉換為特定的類類型,因此您無需聲明每種類型有 3 個變量。所有 A 類型變量都有一個容器(變量),它也是子(B、C、D)。


查看完整回答
反對 回復 2021-06-30
?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

我們以 Java Collections API 為例。為簡潔起見,請考慮以下層次結構:

Collection -> ArrayList

現在,這些陳述是有效的:

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

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

現在這取決于您想對實例做什么。如果您需要添加新元素,請使用允許它的實現。如果沒有,最好使用您真正需要的最小實現或對象。

示例:如果您需要從 DAO 返回的 List 的大小,請使用Collection替代List或其任何實現:

Collection collection = dao.getListFromDatabase();

int size = collection.size();


查看完整回答
反對 回復 2021-06-30
  • 2 回答
  • 0 關注
  • 255 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號