20172330 2017-2018-1 《Java程序设计》第七周学习总结
學(xué)號(hào) 2017-2018-1 《程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)》第七周學(xué)習(xí)總結(jié)
教材學(xué)習(xí)內(nèi)容總結(jié)
這一章主要是對(duì)繼承的學(xué)習(xí):
- 繼承是組織和創(chuàng)建類的基本技術(shù),概念簡(jiǎn)單但影響重大,決定著面向?qū)ο筌浖脑O(shè)計(jì)方法,并增強(qiáng)了已設(shè)計(jì)類在軟件開發(fā)中的復(fù)用性。
- 類建立了對(duì)象的特征和行為,但并沒有為聲明的變量預(yù)留內(nèi)存空間;類是一種設(shè)計(jì),而對(duì)象是該設(shè)計(jì)的具體實(shí)現(xiàn)。
- 繼承具有單向性。
- 可見性修飾符用于控制對(duì)類成員的訪問,這種控制也延伸到繼承的過程中。但構(gòu)造方法不會(huì)繼承。
- super引用是調(diào)用父類構(gòu)造方法,也可以引用父類的其他變量和方法。
- Java的繼承方法稱為單繼承,而一些面向?qū)ο笳Z言允許子類有多個(gè)父類,這種方法稱為多繼承,對(duì)需要用兩種類描述對(duì)象時(shí)候是有用的。
- 雖然一個(gè)Java類只能由一個(gè)父類派生,但是它可以實(shí)現(xiàn)多個(gè)借口,因而可以用一種特殊的方式與繼承一個(gè)父類核心信息的類交互。
- 方法重寫是面向?qū)ο笤O(shè)計(jì)中的一個(gè)關(guān)鍵機(jī)制,允許兩個(gè)有繼承關(guān)系的對(duì)象按同名規(guī)則使用同名方法。.
- 一個(gè)類的子類還可以是一個(gè)或多個(gè)其他類的父類,因此建立起類層次結(jié)構(gòu)。
- 在Java中,所有的類歸根到底都由Object類派生。每一個(gè)類都繼承toString方法和equals方法。
- 抽象類在類層次結(jié)構(gòu)中代表一般性概念。抽象類1通常含有一個(gè)或多個(gè)尚未定義的抽象方法,不能被實(shí)例化。
- 由抽象類派生的子類必須重寫所有父類的抽象方法,否則該子類依然是抽象類。
- 繼承的概念可以應(yīng)用到接口,以便由一個(gè)接口派生到另一個(gè)接口。
- 父類的私有成員也被子類繼承,雖不能以成員名直接地訪問這些私有成員,但可以間接地訪問。
教材學(xué)習(xí)中的問題和解決過程
- 問題1:super的引用,課本上對(duì)此的解釋并沒有很多
- 問題1解決方案:于是在百度之后,對(duì)于原文的一句話記憶猶新
·this通常指代當(dāng)前對(duì)象,super通常指代父類·
如果你想引用父類的某種東西,則非super莫屬,主要作用為:
1:主要存在于子類方法中,用于指向子類對(duì)象中父類對(duì)象。
2:訪問父類的屬性
3:訪問父類的函數(shù)
4:訪問父類的構(gòu)造函數(shù)
super只能在有對(duì)象的前提下使用,不能在靜態(tài)上下文使用。 - 《java中super的用法》
《super的具體用法》
- 問題2:三種可見性修飾符的了解、
問題2解決方案:百度后對(duì)彼此的用途有了了解
由此可以得出private可見性最嚴(yán)格,public可見性最弱,protected可見性位于兩者之間《三種可見性修飾符的對(duì)比》
代碼調(diào)試中的問題和解決過程
- 問題1:在定義MonetaryCoin類的時(shí)候,因?yàn)樯婕坝矌琶嬷祫傞_始在定義時(shí)用了int型,后來因?yàn)榇嬖?.5的存在,導(dǎo)致出了問題
- 問題1解決方案:在我將定義修改之后問題得到解決
代碼托管
上周考試錯(cuò)題總結(jié)
1.If a and b are both int arrays, then a = b; will
A . create an alias
B . copy all elements of b into a
C . copy the 0th element of b into the 0th element of a
D . return true if each corresponding element of b is equal to each corresponding element of a (that is, a[0] is equal to b[0], a[1] is equal to b[1] and so forth) and return false otherwise
E . return true if a and b are aliases and return false otherwise
分析:“=”是賦值運(yùn)算符。分兩種情況:①a和b如果是兩個(gè)變量,則把右邊變量的值賦給左邊變量。②a和b如果是兩個(gè)數(shù)組,導(dǎo)致a和b都在存儲(chǔ)器中引用相同的數(shù)組,因此它們現(xiàn)在是彼此的別名。2.Given the following declarations, which of the following variables are arrays?
int[ ] a, b; int c, d[ ];
A . a
B . a and b
C . a and d
D . a, b and d
E . a, b, c and d
分析:聲明方式有四種模式:①int[] a,b ②int[] a ③int d[] ④int c,d[]3.In Java, an array can only store one type of data. For instance, you cannot create an array that stores both double and String values.
A . true
B . false
分析:數(shù)組被稱為同構(gòu)類型。這意味著存儲(chǔ)在陣列中的值的類型必須對(duì)每個(gè)元素都是相同的。類型由聲明決定。所以,int x只讓x成為int值的數(shù)組。所以,沒有數(shù)組可以同時(shí)存儲(chǔ)雙精度數(shù)和字符串。4.Consider the array declaration and instantiation: int[ ] arr = new int[5]; Which of the following is true about arr?
A It stores 5 elements with legal indices between 1 and 5
B It stores 5 elements with legal indices between 0 and 4
C It stores 4 elements with legal indices between 1 and 4
D It stores 6 elements with legal indices between 0 and 5
E It stores 5 elements with legal indices between 0 and 5
分析:數(shù)組的實(shí)例化了一個(gè)int值,表示它們的大小,或者它們可以存儲(chǔ)的元素的數(shù)量。arr可以存儲(chǔ)5個(gè)元素。此外,所有數(shù)組從索引0開始,然后到索引大小- 1,因此arr的法律索引為0到4。5.If int[ ] x = new int[15]; and the statement x[-1] = 0; is executed, then which of the following Exceptions is thrown?
A IndexOutOfBoundsException
B ArrayIndexOutOfBoundsException
C NegativeArraySizeException
D NullPointException
E ArithmeticException
分析:數(shù)組索引超出范圍,因?yàn)閿?shù)組索引只能在0到14之間。-1是一個(gè)非法的指數(shù),因?yàn)樗窃浇绲摹R粋€(gè)人可能期望答案是C,但是如果一個(gè)數(shù)組被用一個(gè)負(fù)數(shù)的元素來聲明,那么就會(huì)拋出NegativeArraySizeException,比如int[] x = new int[-5];6.The statement int[ ] list = {5, 10, 15, 20};
A adds 4 int values to array list
B initializes list to have 20 int values
C initializes list to have 4 int values
D declares list but does not initialize it
E causes a syntax error because it does not include "new int[4]" prior to the list of values
分析:如果一個(gè)數(shù)組實(shí)例化了它要存儲(chǔ)的值列表,那么它就不需要用新的保留字來實(shí)例化。因此,list = {5, 10, 15, 20};將已初始化的5、10、15、20的值組成4個(gè)int值數(shù)組。注意,這個(gè)數(shù)組是一個(gè)4個(gè)值的數(shù)組,因此,list[n]對(duì)于任何n以外的值(0、1、2或3)都將導(dǎo)致拋出異常。7.To declare a three-dimensional int array called threeD, which of the following would you use?
A int[3] threeD;
B int[ , , ] threeD;
C int[ ][ ][ ] threeD;
D int [ [ [ ] ] ] threeD;
E int[ ] threeD[3];
在Java中,只能聲明一維數(shù)組。要?jiǎng)?chuàng)建一個(gè)二維數(shù)組,必須將其聲明為數(shù)組數(shù)組。三維數(shù)組是數(shù)組數(shù)組的數(shù)組。正確的表示法是在序列中使用多個(gè)[]標(biāo)記來聲明數(shù)組的類型,就像在二維數(shù)組或int[][]中使用一個(gè)三維數(shù)組那樣。
結(jié)對(duì)及互評(píng)
點(diǎn)評(píng)模板:
- 博客中值得學(xué)習(xí)的或問題:
- 圖片和文字相結(jié)合,方便理解。
- 增加了博客中的目錄,方便查看,同時(shí)樣式進(jìn)行了更新,顯得更加美觀
- 閱讀了許多資料,使得博客更有說服力。
- 代碼中值得學(xué)習(xí)的或問題:
- 在做實(shí)驗(yàn)二時(shí)他采用了較為簡(jiǎn)便的方法,并對(duì)不理解的地方有了自己的嘗試。
- commit依舊很詳細(xì),有條理性。
點(diǎn)評(píng)過的同學(xué)博客和代碼
- 本周結(jié)對(duì)學(xué)習(xí)情況
- 20172333
- 結(jié)對(duì)學(xué)習(xí)內(nèi)容
- 學(xué)習(xí)第九章pp項(xiàng)目。
- 學(xué)習(xí)繼承的具體內(nèi)容
- 對(duì)于實(shí)驗(yàn)二一起進(jìn)行探討。
其他(感悟、思考等,可選)
這周相較于上周的課后習(xí)題有所簡(jiǎn)單,但還是應(yīng)該花費(fèi)很多時(shí)間去課本,只有把課本知識(shí)搞懂,才能更好的去做項(xiàng)目。
學(xué)習(xí)進(jìn)度條
| 目標(biāo) | 5000行 | 30篇 | 400小時(shí) | |
| 第一周 | 180/180 | 2/2 | 20/25 | |
| 第二周 | 312/414 | 2/4 | 20/45 | |
| 第三周 | 557/971 | 1/5 | 25/70 | |
| 第四周 | 1217/2242 | 2/7 | 44/114 | |
| 第五周 | 734/2976 | 1/8 | 24/138 | |
| 第六周 | 523/3509 | 1/9 | 20/158 | |
| 第七周 | 697/4206 | 1/10 | 24/182 |
參考:軟件工程軟件的估計(jì)為什么這么難,軟件工程 估計(jì)方法
計(jì)劃學(xué)習(xí)時(shí)間:20小時(shí)
實(shí)際學(xué)習(xí)時(shí)間:24小時(shí)
改進(jìn)情況:
這周對(duì)于課后練習(xí)做的沒有那么吃力,但還是存在一些對(duì)于類的編寫的問題,希望繼續(xù)加油。
參考資料
《Java程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)教程(第二版)》
《Java程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)教程(第二版)》學(xué)習(xí)指導(dǎo)
轉(zhuǎn)載于:https://www.cnblogs.com/linanlalala/p/8907678.html
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的20172330 2017-2018-1 《Java程序设计》第七周学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zhuan zai suffix tre
- 下一篇: [洛谷P2124] 奶牛美容