學號 2019-2020-1 《數據結構與面向對象程序設計》第五周學習總結
教材學習內容總結
- 了解String類
常量對象:常量池中的數據在程序運行期間再也不允許改變。
String對象:用戶無法輸出String對象的引用。 - object類:所有Java類都直接或間接地由object類派生。(Java的每一個類都繼承toString和equals方法)
繼承主要表達的是“是”這個關系。子類是父類的一個更具體的類。 - super用來調用父類的構造方法。
- 對于層次結構,我覺得就是將共用性強的類提高在較高的層次,這樣引用的時候,更加的方便。同時,應知道Object類是沒有父類的。
- 字符串與基本數據的相互轉化
(字符串轉基本數據類型)例子:
Integer類調用類方法public static int parseInt(String s)實現將數字字符轉化為數字。
(基本數據類型轉字符串)例子:
String類調用類方法public static String valueOf(byte n)將數值轉化為String對象,或者調用toString()方法獲得該對象的字符串表示。 - 字符串與字符數組的相互轉換
(字符串轉字符字符數組)例子:
public char[] toCharArray()將一個字符串全部轉化為字符數組,或者使用getChars
(字符數組轉字符串):直接用簡單的初始化字符串的方式即可。
教材學習中的問題和解決過程
- 問題1:子類是否可以重寫父類的所有方法。
- 問題1解決方案:構造方法時一個特殊的方法,與類名相同,但是沒有返回類型。如果試圖重寫父類的構造方法,將會產生語法錯誤,因為除了構造方法之外的所有方法都必須有返回類型。
- 問題2:為什么抽象類不包含抽象代碼
- 問題2解決方案:抽象類可以沒有抽象方法,但是如果你的一個類已經聲明成了抽象類,即使這個類中沒有抽象方法,它也不能再實例化,即不能直接構造一個該類的對象。如果一個類中有了一個抽象方法,那么這個類必須聲明為抽象類,否則編譯通不過。對于抽象方法,一定要用
public abstract修飾抽象方法,而private和protected不可以。如果一個類中有抽象方法,那么這個類一定是抽象類。
代碼調試中的問題和解決過程
- 問題1:運行循環輸入時報錯
- 問題1解決方案:輸入時按照規定的輸入數據類型依次輸入
代碼托管

上周考試錯題總結
- 錯題1
The instruction super( ); does which of the following?
A .calls the method super as defined in the current class
B .calls the method super as defined in the current class'parent class
C .calls the method super as defined in java.lang
D .calls the constructor as defined in the current class
E .calls the constructor as defined in the current class'parent class
正確答案: E 你的答案: B
解析:指令超級表示對當前類的父類中某些內容的調用。因為沒有消息,而只有Super(),所以它是對父類構造函數的調用。 - 錯題2
Two children of the same parent class are known as
A .aliases
B .relatives
C .clones
D .brothers
E .siblings
正確答案: E 你的答案: D
解析:父母相同的兩個子女之間的關系被稱為兄弟姐妹(兄弟關系意味著一種性別)。克隆是同一個對象的副本,別名是同一個對象。在Java中,兄弟和親屬不用于定義類之間的關系。 - 錯題3
The relationship between a parent class and a child class is referred to as a(n) ________ relationship.
A .has-a
B .is-a
C .was-a
D .instance-of
E .alias
正確答案: B 你的答案: A
解析:術語“is-a”用于表示子類是父類的類型。例如,畢業生是學生的一種類型。子類是一個更特定的類型。haf-關系指的是類的屬性或元素(例如,學生有GPA)和實例-指類和該類實例化對象之間的關系。沒有WAS-a關系和別名表示引用同一個對象或實例的兩個變量。 - 錯題4
Which of these is correct?
A .a base class is a parent class or super class
B .a base class is a child class or derived class
C .a child class is a super class of its parent
D .a parent class is a subclass of its child
E .none of the above
正確答案: A 你的答案: C
解析:術語、基類、父類、超類是相互之間的同義詞.它們都意味著類將被用作繼承的基礎,隨后的類將擴展(繼承)基類。 - 錯題5
Java doesn't support multiple inheritance; but it does support the implementation of multiple Interfaces.
A .true
B .false
正確答案: A 你的答案: B
解析:單繼承是Java的優點之一。通過實現多個接口,可以實現多繼承的大部分優點。
結對及互評
評分標準
-
正確使用Markdown語法(加1分)
-
模板中的要素齊全(加1分)
-
教材學習中的問題和解決過程, 3個問題加3分
-
代碼調試中的問題和解決過程, 2個問題加2分
-
本周有效代碼超過300分行的(加2分)
-
感想,體會不假大空的加1分
-
排版精美的加一分
-
進度條中記錄學習時間與改進情況的加1分
-
有動手寫新代碼的加1分
-
課后選擇題有驗證的加1分
-
錯題學習深入的加1分
-
點評認真,能指出博客和代碼中的問題的加1分
-
結對學習情況真實可信的加1分
點評模板:
-
博客中值得學習的或問題:
-
代碼中值得學習的或問題:
代碼增長量多,說明結對的同學這周很努力的在學習Java,我也要努力學習Java了 -
基于評分標準,我給本博客打分:15分。
點評過的同學博客和代碼
- 本周結對學習情況
- 20182313
- 結對學習內容
- 學習繼承的相關概念
- 學習編寫客戶端和服務器
- 學習編寫分數運算的有理數計算器
其他(感悟、思考等,可選)
學習進度條
| | 代碼行數(新增/累積)| 博客量(新增/累積)|學習時間(新增/累積)|
| -------- | :----------------??:----------------??:---------------: |:-----??
| 目標 | 5000行 | 30篇 | 400小時 | |
| 第一周 | 168/168 | 2/2 | 22/22 | |
| 第二周 | 300/500 | 1/3 | 16/38 | |
| 第三周 |500/1000 | 2/5 | 22/60 |
| 第四周 |605/1460 |2/7|35/95
|第五周|1526/2986|2/9|20/115
參考:軟件工程軟件的估計為什么這么難,軟件工程 估計方法
-
計劃學習時間:20小時
-
實際學習時間:20小時
浙公網安備 33010602011771號