20182306 2019-2020-1 《數(shù)據(jù)結(jié)構(gòu)與面向?qū)ο蟪绦蛟O(shè)計(jì)》第四周學(xué)習(xí)總結(jié)
教材學(xué)習(xí)內(nèi)容總結(jié)
object類(lèi):所有Java類(lèi)都直接或間接地由object類(lèi)派生。(Java的每一個(gè)類(lèi)都繼承toString和equals方法)
繼承主要表達(dá)的是“是”這個(gè)關(guān)系。子類(lèi)是父類(lèi)的一個(gè)更具體的類(lèi)。
super用來(lái)調(diào)用父類(lèi)的構(gòu)造方法。
對(duì)于層次結(jié)構(gòu),我覺(jué)得就是將共用性強(qiáng)的類(lèi)提高在較高的層次,這樣引用的時(shí)候,更加的方便。同時(shí),應(yīng)知道Object類(lèi)是沒(méi)有父類(lèi)的。
教材學(xué)習(xí)中的問(wèn)題和解決過(guò)程
- 問(wèn)題1:子類(lèi)是否可以重寫(xiě)父類(lèi)的所有方法。
- 問(wèn)題1解決方案:構(gòu)造方法時(shí)一個(gè)特殊的方法,與類(lèi)名相同,但是沒(méi)有返回類(lèi)型。如果試圖重寫(xiě)父類(lèi)的構(gòu)造方法,將會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤,因?yàn)槌藰?gòu)造方法之外的所有方法都必須有返回類(lèi)型。
- 問(wèn)題2:為什么抽象類(lèi)不包含抽象代碼
- 問(wèn)題2解決方案:抽象類(lèi)可以沒(méi)有抽象方法,但是如果你的一個(gè)類(lèi)已經(jīng)聲明成了抽象類(lèi),即使這個(gè)類(lèi)中沒(méi)有抽象方法,它也不能再實(shí)例化,即不能直接構(gòu)造一個(gè)該類(lèi)的對(duì)象。如果一個(gè)類(lèi)中有了一個(gè)抽象方法,那么這個(gè)類(lèi)必須聲明為抽象類(lèi),否則編譯通不過(guò)。對(duì)于抽象方法,一定要用
public abstract修飾抽象方法,而private和protected不可以。如果一個(gè)類(lèi)中有抽象方法,那么這個(gè)類(lèi)一定是抽象類(lèi)。
代碼調(diào)試中的問(wèn)題和解決過(guò)程
- 問(wèn)題1:Juint出現(xiàn)錯(cuò)誤
- 問(wèn)題1解決方案:點(diǎn)擊小燈泡,選擇給出的方案中最便捷的一項(xiàng)
- 問(wèn)題2:沒(méi)有輸入ToString
- 問(wèn)題2解決方案:結(jié)果會(huì)輸出一串代碼,這個(gè)是地址,加入ToString輸出結(jié)果
- 問(wèn)題3:代碼中出現(xiàn)中文,輸出會(huì)有亂碼。
- 問(wèn)題3的解決方案:選擇GBK

代碼托管

上周考試錯(cuò)題總結(jié)
- 錯(cuò)題1
An example of passing message to a String where the message has a String parameter would occur in which of the following messages?
A .length
B .substring
C .equals
D .toUpperCase
E .none of the above, it is not possible to pass a String as a parameter in a message to a String
解析: 長(zhǎng)度和toUpperCase消息沒(méi)有參數(shù),子字符串有兩個(gè)int參數(shù)。對(duì)于等于,必須將字符串作為參數(shù)傳遞,以便將接收消息的字符串與作為參數(shù)傳遞的字符串進(jìn)行比較。 - 錯(cuò)題2
Consider a method defined with the header: public void doublefoo(double x). Which of the following method calls is legal?
A .doublefoo(0);
B .doublefoo(0.555);
C .doublefoo(0.1 + 0.2);
D .doublefoo(0.1, 0.2);
E .all of the above are legal except for D
正確答案: E 你的答案: D
解析:在A的情況下,0(一個(gè)int)的值被加寬到雙倍。在C的情況下,執(zhí)行生成0.3的加法,然后調(diào)用雙foo。D中的參數(shù)列表是非法的,因?yàn)樗瑑蓚€(gè)雙參數(shù),而不是1。 - 錯(cuò)題3
In a UML diagram for a class
A .classes are represented as rectangles
B .there may be a section containing the name of the class
C .there may be a section containing the attributes (data) of the class
D .there may be a section containing the methods of the class
E .all of the above
正確答案: E 你的答案: B
解析:這四個(gè)屬性正確地描述了類(lèi)的UML表示。 - 錯(cuò)題4
Visibility modifiers include
A .public, private
B .public, private, protected
C .public, private, protected, final
D .public, protected, final, static
E .public, private, protected, static
正確答案: B 你的答案: E
解析:公共、私有、受保護(hù)的控制變量和方法的可見(jiàn)性。最終控制變量、方法或類(lèi)是否可以進(jìn)一步更改或重寫(xiě)不可見(jiàn)性。靜態(tài)控制變量或方法是否與類(lèi)的實(shí)例或類(lèi)本身相關(guān)聯(lián)。 - 錯(cuò)題5
What happens if you declare a class constructor to have a void return type?
A .You'll likely receive a syntax error
B .The program will compile with a warning, but you'll get a runtime error
C .There's nothing wrong with declaring a constructor to be void
D .The class' default constructor will be used instead of the one you're declaring
E .None of the above
正確答案: A 你的答案: D
解析:聲明任何類(lèi)型的構(gòu)造函數(shù)(甚至是void)都是違反語(yǔ)法的,因此您將收到一個(gè)語(yǔ)法錯(cuò)誤。 - 錯(cuò)題6
The following method header definition will result in a syntax error: public void aMethod( );
A .true
B .false
正確答案: A 你的答案: B
解析:語(yǔ)法錯(cuò)誤的原因是因?yàn)樗浴埃弧狈?hào)結(jié)尾。相反,需要后面跟著{},括號(hào)中有0或更多的指令。抽象方法將以“;”結(jié)尾,但此標(biāo)頭并不定義抽象方法。 - 錯(cuò)題7
The interface of a class is based on those data instances and methods that are declared public.
A .true
B .false
正確答案: A 你的答案: B
解析:接口是外部代理與對(duì)象的交互方式。交互只能通過(guò)在類(lèi)的定義中聲明為公共的項(xiàng)來(lái)實(shí)現(xiàn)。 - 錯(cuò)題8
An object should be encapsulated in order to guard its data and methods from inappropriate access.
A .true
B .false
正確答案: A 你的答案: B
解析:封裝是一種概念,即應(yīng)該保護(hù)對(duì)象不被意外(或有目的)誤用。 - 錯(cuò)題9
Accessors and mutators provide mechanisms for controlled access to a well-encapsulated class.
A .true
B .false
正確答案: A 你的答案: B
解析:訪問(wèn)器提供對(duì)否則無(wú)法訪問(wèn)的變量的讀訪問(wèn)。變異器提供對(duì)其他不可訪問(wèn)變量的寫(xiě)訪問(wèn)。
結(jié)對(duì)及互評(píng)
評(píng)分標(biāo)準(zhǔn)
-
正確使用Markdown語(yǔ)法(加1分)
-
模板中的要素齊全(加1分)
-
教材學(xué)習(xí)中的問(wèn)題和解決過(guò)程, 3個(gè)問(wèn)題加3分
-
代碼調(diào)試中的問(wèn)題和解決過(guò)程, 2個(gè)問(wèn)題加2分
-
本周有效代碼超過(guò)300分行的(加2分)
-
感想,體會(huì)不假大空的加1分
-
排版精美的加一分
-
進(jìn)度條中記錄學(xué)習(xí)時(shí)間與改進(jìn)情況的加1分
-
有動(dòng)手寫(xiě)新代碼的加1分
-
課后選擇題有驗(yàn)證的加1分
-
錯(cuò)題學(xué)習(xí)深入的加1分
-
點(diǎn)評(píng)認(rèn)真,能指出博客和代碼中的問(wèn)題的加1分
-
結(jié)對(duì)學(xué)習(xí)情況真實(shí)可信的加1分
點(diǎn)評(píng)模板:
-
博客中值得學(xué)習(xí)的或問(wèn)題:
博客書(shū)寫(xiě)規(guī)范;
博客中的錯(cuò)題整理的規(guī)范 -
代碼中值得學(xué)習(xí)的或問(wèn)題:
代碼增長(zhǎng)量多,說(shuō)明結(jié)對(duì)的同學(xué)這周很努力的在學(xué)習(xí)Java,我也要努力學(xué)習(xí)Java了 -
基于評(píng)分標(biāo)準(zhǔn),我給本博客打分:15分。
點(diǎn)評(píng)過(guò)的同學(xué)博客和代碼
- 本周結(jié)對(duì)學(xué)習(xí)情況
- 20182313
- 結(jié)對(duì)學(xué)習(xí)內(nèi)容
編寫(xiě)自定義類(lèi),繪制UML類(lèi)圖,共同理解各種循環(huán)的異同之處,學(xué)習(xí)封裝的基本概念并做一一些淺顯的實(shí)踐。
- 上周博客互評(píng)情況
學(xué)習(xí)進(jìn)度條
| 代碼行數(shù)(新增/累積) | 博客量(新增/累積) | 學(xué)習(xí)時(shí)間(新增/累積) | 重要成長(zhǎng) | |
|---|---|---|---|---|
| 目標(biāo) | 5000行 | 30篇 | 400小時(shí) | |
| 第一周 | 168/168 | 2/2 | 22/22 | |
| 第二周 | 300/500 | 1/3 | 16/38 | |
| 第三周 | 500/1000 | 2/5 | 22/60 | |
| 第四周 | 605/1460 | 2/7 | ||
| 參考:軟件工程軟件的估計(jì)為什么這么難,軟件工程 估計(jì)方法 |
-
計(jì)劃學(xué)習(xí)時(shí)間:30小時(shí)
-
實(shí)際學(xué)習(xí)時(shí)間:35小時(shí)
浙公網(wǎng)安備 33010602011771號(hào)