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

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

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

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

UYOU 2023-08-04 15:44:24
有人可以解釋一下當(dāng)我們擴(kuò)展時同名方法是否會被覆蓋嗎?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));    }}測試類: 這里會調(diào)用哪個方法?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個贊

調(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()

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

ClassA.printNumber();

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


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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