一道JAVA題的解決

2021-04-21 04:11:16 字數 1001 閱讀 5158

1: class person 

3:      public void printvalue(int i)

4: }

5: public class teacher extends person

7:      public void printvalue(int i) 

8:    public static void main(string args)

12:  }

有乙個問題就是步驟9 10

如這句話

當然在使用new ***x()建立的時候 我理解為 父類引用變數t 放到乙個棧記憶體中,而new teacher()放到乙個堆記憶體中.當我用t.a的時候.他呼叫的是父類的成員變數,呼叫方法的時候他確呼叫子類的方法.這是為什麼?

是因為建立引用的時候 父類的成員變數與引用t放到一塊棧記憶體中嗎?但new teacher()以後  為什麼子類的變數a不能放到乙個棧記憶體中呢(成員變數在使用new ***x()建立該類的例項時被建立,而其生存期和該類的例項物件的生存期相同)? 指教一下 這個記憶體分配.謝謝了

論壇裡看到的別人的提問,新增了些**在eclipse上測試了下,結果如下:

class person 

public void printvalue(int i)

} public class teacher extends person

public void printvalue(int i)      

public static void main(string args)

} 執行結果為:10you not a fool

4731.本題的關鍵為person t = new teacher(); 在子類中重寫了printvalue(int i)函式,因此執行為子類中的printvalue.

2.父類中宣告a為static常量,執行父類中的a。

最後結論為若函式未被重寫,諸如person t = new teacher();會呼叫父類方法。

一道java基礎題

題目 要求隨機產生20個0 100之間的數字,並對這20個數字以10的倍數進行歸類,然後列印。如 10 7 9 5 30 22 25 29 50 49 45 public static void main string args 隨機產生20個0 100之間的數字,並放入list中 return p...

一道演算法題

兩個燒杯,乙個放糖乙個放鹽,用勺子舀一勺糖到鹽,攪拌均勻,然後舀一勺混合 物會放糖的燒杯,問你兩個燒杯哪個雜質多?一樣多吧 對的 為啥?是不是因為 糖和鹽本來就是均勻的 因為,就算不攪拌均,你放一勺過去,那邊放一勺不含雜質的過來,那麼都是一勺雜之 如果攪拌均勻的話也是一樣 小依 21 45 32 也...

一道演算法題

1.上午主要做了對翻譯任務的劃分,下午把 翻譯完畢。2.明天要講的演算法題 對乙個集合,求出其連續元素組成的子集中,和最大的子集 我對這道題的理解是 1 若集合中最小值大於0,意味著所有的都大於0,則最大的子集和,為所有值加起來 2 若集合中最大值小於0,意味著所有的都小於0,則最大的子集和,為集合...