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

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

我應(yīng)該使用靜態(tài)綁定嗎?

我應(yīng)該使用靜態(tài)綁定嗎?

翻過高山走不出你 2023-03-17 16:42:43
我正在學習后期綁定和靜態(tài)綁定?,F(xiàn)在我對這些代碼感到困惑。這是我的分析:hello()是非靜態(tài)方法,所以我們應(yīng)該使用動態(tài)綁定,即Child。但是子類里面沒有hello()方法,就去它的父類。查找hello()并打印第一行“Hello from parent call calssMethod”。由于classMethod()是靜態(tài)的,所以我們應(yīng)該使用c的靜態(tài)綁定,也就是Child。所以輸出是“child 中的 classMethod”。所以輸出應(yīng)該是來自父調(diào)用 calssMethod 的問候子類中的類方法class Parent{    public static void classMethod() {        System.out.println("classMethod in Parent");    }    public void instanceMethod() {        System.out.println("InstanceMethod in Parent");    }        public void hello() {        System.out.println("Hello from parent call calssMethod");        classMethod();    }}class Child extends Parent{    public static void classMethod() {        System.out.println("classMethod in Child");    }    public void instanceMethod() {        System.out.println("InstanceMethod in Child");    }}public class AA {    public static void main(String[] args) {        Child c = new Child();        c.hello();    }}現(xiàn)在,問題來了。IDE 顯示輸出為:來自父調(diào)用 calssMethod 的問候父類中的類方法什么是正確的分析過程?如果我將hello()方法設(shè)為靜態(tài)怎么辦?
查看完整描述

2 回答

?
www說

TA貢獻1775條經(jīng)驗 獲得超8個贊

類(靜態(tài))方法不會被重寫為實例方法。當您調(diào)用方法“hello()”時,它將使用父方法。當您在此處引用類方法時,您指的是在“Parent”類中定義的方法。

除此之外,您應(yīng)該將您的 Child 實例聲明為“Parent c = new Child()”。因為您不是向子類添加新方法而是更改實現(xiàn),所以您不會失去對子類方法的訪問權(quán)。如果您必須使用返回 Parent 對象的方法,但您返回的是像您一樣聲明的 Child 對象,則會遇到問題。

編輯:除此之外,通常有兩個使用繼承的原因:專業(yè)化和擴展。

對于專業(yè)化,您使用在超類中定義方法,而您的子類在實現(xiàn)這些方法的方式上有所不同。例如,具有子類 Cat 和 Dog 的超類 Animal。“動物”有一個方法makeSound()。您可以想象這兩個子類將有不同的實現(xiàn)。

對于擴展,您使用超類作為包含所有重疊內(nèi)容的基類。除此之外,子類可能有非常不同的實現(xiàn)和用途。很多接口都有這種用途。


查看完整回答
反對 回復 2023-03-17
?
不負相思意

TA貢獻1777條經(jīng)驗 獲得超10個贊

每當我們調(diào)用子類的對象時,它總是首先找到父類并執(zhí)行它。由于您在兩個類中都有靜態(tài) classMethod,因此它始終運行父級的 classMethod 而不是子級的。您只能通過覆蓋它來獲得所需的答案。

如果你將 hello() 方法設(shè)為靜態(tài),那么它也會給你相同的輸出。


查看完整回答
反對 回復 2023-03-17
  • 2 回答
  • 0 關(guān)注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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