move()
是一個方法,引用變量Animal creature = new Horse
指向Horse
後(Horse是Animal子類),creature.move()
就調用Horse
中的move()
方法。本週教材學習中無重大問題,老師和助教解答很詳細。html
問題1:想要嘗試一下繼承實現多態,基本思路爲Demo類中i = 4
,SuperDemo類中i = 7
,最後輸出結果應該是SuperDemo類中的7
,結果倒是SuperDemo = 0
。
git
問題1解決方案:查找網上相似的問題,獲得一點啓發。執行new SuperDemo()
的時候先調用了父類的Demo()
,而該構造裏邊又引用了子類的show
方法,但那時候子類構造還未執行,i
變量僅僅被分配了內存並賦予默認的0
,因此打印的是0
。應該是這樣。編程
(statistics.sh腳本的運行結果截圖)數據結構
錯題1: Which of the following is true regarding Java classes?
正確答案:A .All classes must have 1 parent but may have any number of children (derived or extended) classes
緣由:每個類都直接或者間接的是Object類的子類。函數
錯題2:A variable declared to be of one class can later reference an extended class of that class. This variable is known as
正確答案:D .polymorphic
緣由:沒有很好的理解題目意思,覺得是「一個類中的變量能夠被本身的子類引用」之類的,從而誤選爲protected。學習
錯題3:In order to determine the type that a polymorphic variable refers to, the decision is made
正確答案:D .by the Java run-time environment at run time
緣由:多態性引用的類型判斷是在程序運行時,也就是動態綁定。設計
錯題4:Using the reserved word, super, one can
正確答案:E .none of the above
緣由:super保留字既能引用構造函數,也能引用方法和數據。調試
錯題5:If class AParentClass has a protected instance data x, and AChildClass is a derived class of AParentClass, then AChildClass can access x but can not redefine x to be a different type.
正確答案:B .false
緣由:這是能夠實現的,經過保留字super的使用。code
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 195/195 | 1/4 | 20/20 | 對代碼產生了很大興趣 |
第二週 | 309/504 | 1/5 | 20/40 | 打字速度明顯提高 |
第三週 | 311/815 | 2/7 | 25/65 | 無 |
第四周 | 474/1289 | 1/8 | 30/95 | 抗...抗壓能力增強? |
第五週 | 260/1549 | 1/9 | 15/110 | 瞭解到預習的重要性 |
第六週 | 358/1907 | 2/11 | 20/130 | 打字速度明顯提高 |
第七週 | 780/2687 | 2/13 | 15/145 | 學會使用JUnit |
第八週 | 2124/4811 | 2/10 | 15/160 | 無 |
20172319唐才銘htm