20172330 2017-2018-1 《Java程序设计》第七周学习总结
學(xué)號 2017-2018-1 《程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)》第七周學(xué)習(xí)總結(jié)
教材學(xué)習(xí)內(nèi)容總結(jié)
這一章主要是對繼承的學(xué)習(xí):
- 繼承是組織和創(chuàng)建類的基本技術(shù),概念簡單但影響重大,決定著面向?qū)ο筌浖脑O(shè)計方法,并增強了已設(shè)計類在軟件開發(fā)中的復(fù)用性。
- 類建立了對象的特征和行為,但并沒有為聲明的變量預(yù)留內(nèi)存空間;類是一種設(shè)計,而對象是該設(shè)計的具體實現(xiàn)。
- 繼承具有單向性。
- 可見性修飾符用于控制對類成員的訪問,這種控制也延伸到繼承的過程中。但構(gòu)造方法不會繼承。
- super引用是調(diào)用父類構(gòu)造方法,也可以引用父類的其他變量和方法。
- Java的繼承方法稱為單繼承,而一些面向?qū)ο笳Z言允許子類有多個父類,這種方法稱為多繼承,對需要用兩種類描述對象時候是有用的。
- 雖然一個Java類只能由一個父類派生,但是它可以實現(xiàn)多個借口,因而可以用一種特殊的方式與繼承一個父類核心信息的類交互。
- 方法重寫是面向?qū)ο笤O(shè)計中的一個關(guān)鍵機制,允許兩個有繼承關(guān)系的對象按同名規(guī)則使用同名方法。.
- 一個類的子類還可以是一個或多個其他類的父類,因此建立起類層次結(jié)構(gòu)。
- 在Java中,所有的類歸根到底都由Object類派生。每一個類都繼承toString方法和equals方法。
- 抽象類在類層次結(jié)構(gòu)中代表一般性概念。抽象類1通常含有一個或多個尚未定義的抽象方法,不能被實例化。
- 由抽象類派生的子類必須重寫所有父類的抽象方法,否則該子類依然是抽象類。
- 繼承的概念可以應(yīng)用到接口,以便由一個接口派生到另一個接口。
- 父類的私有成員也被子類繼承,雖不能以成員名直接地訪問這些私有成員,但可以間接地訪問。
教材學(xué)習(xí)中的問題和解決過程
- 問題1:super的引用,課本上對此的解釋并沒有很多
- 問題1解決方案:于是在百度之后,對于原文的一句話記憶猶新
·this通常指代當(dāng)前對象,super通常指代父類·
如果你想引用父類的某種東西,則非super莫屬,主要作用為:
1:主要存在于子類方法中,用于指向子類對象中父類對象。
2:訪問父類的屬性
3:訪問父類的函數(shù)
4:訪問父類的構(gòu)造函數(shù)
super只能在有對象的前提下使用,不能在靜態(tài)上下文使用。 - 《java中super的用法》
《super的具體用法》
- 問題2:三種可見性修飾符的了解、
問題2解決方案:百度后對彼此的用途有了了解
由此可以得出private可見性最嚴(yán)格,public可見性最弱,protected可見性位于兩者之間《三種可見性修飾符的對比》
代碼調(diào)試中的問題和解決過程
- 問題1:在定義MonetaryCoin類的時候,因為涉及硬幣面值剛開始在定義時用了int型,后來因為存在0.5的存在,導(dǎo)致出了問題
- 問題1解決方案:在我將定義修改之后問題得到解決
代碼托管
上周考試錯題總結(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
分析:“=”是賦值運算符。分兩種情況:①a和b如果是兩個變量,則把右邊變量的值賦給左邊變量。②a和b如果是兩個數(shù)組,導(dǎo)致a和b都在存儲器中引用相同的數(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)類型。這意味著存儲在陣列中的值的類型必須對每個元素都是相同的。類型由聲明決定。所以,int x只讓x成為int值的數(shù)組。所以,沒有數(shù)組可以同時存儲雙精度數(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ù)組的實例化了一個int值,表示它們的大小,或者它們可以存儲的元素的數(shù)量。arr可以存儲5個元素。此外,所有數(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ù)組索引超出范圍,因為數(shù)組索引只能在0到14之間。-1是一個非法的指數(shù),因為它是越界的。一個人可能期望答案是C,但是如果一個數(shù)組被用一個負(fù)數(shù)的元素來聲明,那么就會拋出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
分析:如果一個數(shù)組實例化了它要存儲的值列表,那么它就不需要用新的保留字來實例化。因此,list = {5, 10, 15, 20};將已初始化的5、10、15、20的值組成4個int值數(shù)組。注意,這個數(shù)組是一個4個值的數(shù)組,因此,list[n]對于任何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ù)組。要創(chuàng)建一個二維數(shù)組,必須將其聲明為數(shù)組數(shù)組。三維數(shù)組是數(shù)組數(shù)組的數(shù)組。正確的表示法是在序列中使用多個[]標(biāo)記來聲明數(shù)組的類型,就像在二維數(shù)組或int[][]中使用一個三維數(shù)組那樣。
結(jié)對及互評
點評模板:
- 博客中值得學(xué)習(xí)的或問題:
- 圖片和文字相結(jié)合,方便理解。
- 增加了博客中的目錄,方便查看,同時樣式進行了更新,顯得更加美觀
- 閱讀了許多資料,使得博客更有說服力。
- 代碼中值得學(xué)習(xí)的或問題:
- 在做實驗二時他采用了較為簡便的方法,并對不理解的地方有了自己的嘗試。
- commit依舊很詳細(xì),有條理性。
點評過的同學(xué)博客和代碼
- 本周結(jié)對學(xué)習(xí)情況
- 20172333
- 結(jié)對學(xué)習(xí)內(nèi)容
- 學(xué)習(xí)第九章pp項目。
- 學(xué)習(xí)繼承的具體內(nèi)容
- 對于實驗二一起進行探討。
其他(感悟、思考等,可選)
這周相較于上周的課后習(xí)題有所簡單,但還是應(yīng)該花費很多時間去課本,只有把課本知識搞懂,才能更好的去做項目。
學(xué)習(xí)進度條
| 目標(biāo) | 5000行 | 30篇 | 400小時 | |
| 第一周 | 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 |
參考:軟件工程軟件的估計為什么這么難,軟件工程 估計方法
計劃學(xué)習(xí)時間:20小時
實際學(xué)習(xí)時間:24小時
改進情況:
這周對于課后練習(xí)做的沒有那么吃力,但還是存在一些對于類的編寫的問題,希望繼續(xù)加油。
參考資料
《Java程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)教程(第二版)》
《Java程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)教程(第二版)》學(xué)習(xí)指導(dǎo)
轉(zhuǎn)載于:https://www.cnblogs.com/linanlalala/p/8907678.html
超強干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的20172330 2017-2018-1 《Java程序设计》第七周学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zhuan zai suffix tre
- 下一篇: 学习Java 采取令牌的方式避免重复提交