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

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

Java 中多態(tài)性的工作原理

Java 中多態(tài)性的工作原理

UYOU 2023-08-04 15:44:24
有人可以解釋一下當(dāng)我們擴(kuò)展時(shí)同名方法是否會(huì)被覆蓋嗎?A 類 ab = 新 B 類?ab 看到哪些方法?A類:public class ClassA {    public static int count = 0;    public void print(){        System.out.println("Print A");    }    public static void printNumber() {        System.out.println("Class A " + (++count));    }}B 類: B 類中哪些方法將被重寫?public class ClassB extends ClassA {    public static int count=0;    public void print() {        System.out.println("Class B");    }    public static void printNumber() {        System.out.println("Class B " + (++count));    }}測試類: 這里會(huì)調(diào)用哪個(gè)方法?public class ClassTest {    public static void main(String [] arg) {        ClassA a = new ClassA();        ClassB b = new ClassB();        ClassA ab = new ClassB();        a.print();        a.printNumber();        b.print();        b.printNumber();        ab.print();  //Why when we call print() method returns print method of ClassA        ab.printNumber()    ;// Why when we call printNumber() method return method of ClassB    }}
查看完整描述

1 回答

?
楊__羊羊

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

調(diào)用靜態(tài)方法取決于聲明類型而不是實(shí)例化類型。

所以在這一行中:

ClassA ab = new ClassB();
  ^           ^
declared type   instantiated type

ab 將始終使用其聲明類型 ( Class A) 的靜態(tài)方法——如果printNumber();您的 IDE 實(shí)際上應(yīng)該為您提供如下建議:

通過實(shí)例引用訪問靜態(tài)成員 ClassA.printNumber()

并且可能會(huì)建議將該行調(diào)整為:

ClassA.printNumber();

這與調(diào)用動(dòng)態(tài)方法(例如print())不同,動(dòng)態(tài)方法將始終嘗試調(diào)用實(shí)例化類型的重寫方法(在 ab 的情況下,實(shí)例化類型是ClassB


查看完整回答
反對(duì) 回復(fù) 2023-08-04
  • 1 回答
  • 0 關(guān)注
  • 131 瀏覽

添加回答

舉報(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)