201621123054 《Java程序設計》第六週實驗總結

1. 本週學習總結

1.1 面向對象學習暫告一段落,請使用思惟導圖,以封裝、繼承、多態爲核心概念畫一張思惟導圖或相關筆記,對面向對象思想進行一個總結。

1.2 可選:使用常規方法總結其餘上課內容。

2. 書面做業

1. clone方法

1.1 在test1包中編寫Employee類,在test2包中新建一個Test類,並在其main中新建test1包中的Employee的對象,而後使用clone方法克隆一個新對象,可否成功?爲何?

  • Object源代碼是protected native Object clone() throws CloneNotSupportedException;
  • 不能成功,在Employee類中繼承自Object含有Object的clone方法,因此只能在test1中實現克隆java

    1.2 若是要爲自定義的類覆蓋clone方法,需注意什麼?

  • 實現Cloneable接口
  • 1.3 Object對象中的toString, equals, hashCode方法都使用public修飾,而clone方法卻被protected修飾,請嘗試解釋緣由。爲何不聲明爲public呢?

  • 2. 內部類

2.1 使用匿名類與Lambda表達式改寫題集面向對象2-進階-多態接口內部類的題目7-2。請貼圖關鍵代碼與運行結果,請在運行結果中出現你的學號與姓名。
2.2. 分析下列代碼,回答shapeComparator所指向的對象與Comparator接口有什麼關係?
Comparator shapeComparator = new Comparator () { @Override public int compare(Shape o1, Shape o2) { //你的代碼 } };
2.3 題集:6-1(匿名內部類)實驗總結。你以爲使用匿名內部類有什麼好處?
數組

  1. PTA實驗總結

3.1 PTA(自定義接口)。並回答:相比較不寫接口,直接寫一個類包含IntegerStack相應的方法來講,定義IntegerStack接口,而後定義其實現類這種方式有什麼好處?
3.2 PTA(靜態內部類)。並回答:你以爲何時應該使用靜態內部類?靜態內部類與內部類有什麼區別?
3.3 PTA(繼承覆蓋綜合練習-Person、Student、Employee、Company)。並回答:使用Collections.sort對引用類型數組進行排序須要有一個什麼前提條件?ide

4.大做業-繼續完善(嘗試使用接口改造大家的系統)函數

參考Case-StudentDao.zip案例
假設在不一樣的實現中,購物車裏的商品有的是存放在ArrayList,有的是存放在數組中。
4.1 如今但願將系統中購物車的操做抽象到相應的DAO接口。
4.2 爲該接口定義至少兩個實現(如數組、列表、文件)。截圖本身負責部分的關鍵代碼,要求出現名字與學號。
4.3 給出大家的Main程序,說明定義DAO接口的好處。學習

  1. 代碼閱讀:PersonTest.java(abstract、多態、super)

5.1 畫出類的繼承關係
5.2 main函數的代碼實現什麼功能?
5.3 若是將子類中的super構造函數去掉行不行?
5.4 PersonTest.java中哪裏體現了多態?
參考連接:code

PersonTest.java
3.碼雲及PTA對象

題集:jmu-Java-04-面向對象2-進階-多態接口內部類blog

3.1. 碼雲代碼提交記錄排序

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

3.2 截圖PTA題集完成狀況圖

須要有兩張圖(1. 排名圖。2.PTA提交列表圖)

3.3 統計本週完成的代碼量

須要將每週的代碼統計狀況融合到一張表中。

相關文章
相關標籤/搜索