201621123058《java程序設計》第三週學習總結

1.本週學習總結

2.書面做業

2.1 以面向對象方式改造數據結構做業'有理數'(重點)

git地址java

2.2 構造函數與初始化塊

2.2.1 結合PTA 5(構造函數與toString)說明構造函數有什麼用?其函數格式有何特徵?

構造函數是針對對象來講的,有了構造函數更容易分配內存,有時候當你須要傳遞參數但函數中時能夠更加方便。修飾符+類型+函數名+形參;

2.2.2 若是一個類不寫構造函數,它有構造函數嗎?若是一個類中只有帶參的構造函數,它有沒有不帶參數的默認構造函數?

當一個類中沒有寫構造函數時,系統會默認有一個無參函數。但當類中存在有參函數時就不須要無參構造函數了。

2.2.3 查看String類的源代碼,找出3個看得懂的String類的構造函數,並使用本身的話描述這3個構造函數的區別。



2.2.4 結合PTA(構造函數與初始化塊)說明初始化塊與構造函數的異同。並說明,初始化塊與構造函數誰先執行?初始化塊與靜態初始化塊有何不一樣,誰先執行?

初始化塊:對象的初始化。只要創建對象該部分就會被執行,且優先於構造函數。

              構造函數:對應對象的初始化,在建立對象時,選擇與之對應的初始化對象。

              靜態初始化塊:對類的初始化,加載時所屬的類會被加載並執行,可是隻有一次。

              三者執行順序:靜態初始化塊>初始化塊>構造函數                                                                       >來自360問答

2.3 代碼分析:Math類

2.3.1 使用java.lang.Math類的方法時,爲何不須要new出一個Math對象,而後調用該對象上相應的方法?

由於`java.lang.Math`是靜態函數,是系統中已經存在的無需從新new一個新的函數,若是要調用Math類直接在代碼前加入`java.lang.Math`,而後用math.函數名便可。

2.3.2 若是new Math()會產生什麼錯誤?嘗試閱讀Math類源代碼,分析緣由。

若是程序中出現new Math()程序運行後會提示:The constructor Math() is not visible;


從這段代碼中能夠看出Math類前面的修飾符爲private(私有),已經存在的構造函數無需從新構造。

2.3.3 進一步:你以爲什麼樣的對象須要new出來才能用,調用什麼方法時沒必要建立相應對象就可使用?(重點檢查)

這種狀況下就是要看構造函數時的修飾符是什麼,若是是靜態類(static類)的話,就不須要去new一個新的對象;若是不是那就能夠去new一個新的對象。

2.4 重載Overload

2.4.1 什麼是重載?什麼是構造函數重載?怎麼才能區分兩個重載的方法?

重載即函數名相同,變量以及變量類型相同;構造函數重載即在同一個類中能夠同時構造多個函數,任意一個函數都有本身的變量;

               如何區分兩個重載方法:根據重載中參數的類型便可區分兩種重載。

2.4.2 在java.lang.Math類中舉出1個方法重載的例子?

以下圖所示:git


2.5 代碼閱讀: final

2.5.1 final修飾的變量不能改變,爲何以下代碼卻可正常運行?

`final int[] NUMBS= {1,2,3,4,5}; NUMBS[2] = 1;`

            final修飾的變量以後不能再指向其餘對象,可是其內部的值是能夠改變的。

2.6 Java8中的時間日期類:編寫函數public static boolean isMondayToFriday()

2.7 封裝

2.7.1 結合PTA(形狀),請用本身的話簡單總結一下面向對象中封裝是什麼意思?有何好處?

封裝是指將實現細節同接口分離開,儘可能實現對外部隱藏;

                 封裝優勢:能夠提升程序的穩定性,下降被破壞的機率,減小程序之間的依賴性,能夠忽略具體的實現細節。>以上問答來自360問答

2.7.2 和封裝有關的關鍵字有哪些?

與封裝有關的關鍵字: public 、protected、private、set()、get() 。

2.8 結對編程實踐(未完成,0分)

結對對象:林裕恆

                 感覺體會:通常題目都是本身一我的在宿舍敲的,平時偶爾碰到問題也就一我的在那裏一直想,但是老師的這個結對編程的方法仍是解決了個人一些問題,

                 畢竟兩我的有兩個大腦在思考, 樣碰到問題仍是可以比較快的討論出來,比一我的好多了。感受有些知識相互間還能互補,互相學習。

3.碼雲及PTA

3.1 碼雲代碼提交記錄

-在碼雲的項目中,依次選擇「統計-Commits歷史-設置時間段」, 而後搜索並截圖
編程

3.2 截圖PTA題集完成狀況圖



3.3 統計本週完成的代碼量

周次 總代碼量 新增代碼量 總文件數 新增文件數
1 0 0 0 0
2 0 0 0 0
3 556 556 8 8
相關文章
相關標籤/搜索