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,則最大的子集和,為集合...