注1:關鍵詞與內容不求多,但概念之間的聯繫要清晰,內容覆蓋面向對象的核心內容便可。
注2:顏色要少、連線不要複雜,必要的時候要在連線上進行說明。
編程
須要注意的是,若是用protected修飾,那麼只能被同包內的類和子類所訪問,Object對象中的clone方法是被protected修飾,須要修改爲public修飾。在自定義類中覆蓋clone的方法的名稱必須和Object.clone中名稱、參數、返回類型相等,方法的覆蓋只能存在於子類和父類之間,在同一個類中方法被重載不能覆蓋。
通常對於在一個包的不一樣類中,一個方法須要被同一個包中的不一樣類中進行屢次調用的時候則須要進行protected進行修飾,即便不是同一個類,只要是在同一個包內就可使用,使用protected進行修飾還能夠不讓其餘類中調用該方法,起到保護做用。 在代碼Shape中,Shape會有相似於Circle,Rectangle的子類,他們繼承了Shape類的getPerimeter()與getArea()兩種方法,若是不想讓其餘類調用到這兩個方法,則須要用到protected。
不能成功,由於Employee類用的是protected修飾的,而這兩個類並不在一個包內
僅需粘貼關鍵代碼與運行結果,圖片不要太大。ide
匿名內部類 NameComparator a = new NameComparator(); Arrays.sort(persons,a); for(PersonSortable2 personSortable2 : persons){ System.out.println(personSortable2); } AgeComparator b = new AgeComparator(); Arrays.sort(persons,b); for(PersonSortable2 personSortable2 : persons){ System.out.println(personSortable2); } Lamda表達式 Arrays.sort(persons,(o1,o2)->o1.getName().compareTo(o2.getName())); Arrays.sort(persons,(o1,o2)->o1.getAge()-o2.getAge();
運行結果
函數
Comparator<Shape> shapeComparator = new Comparator<Shape>() { @Override public int compare(Shape o1, Shape o2) { //你的代碼 } }; shapeComparator所指的對象可以實現Comparator接口,而後接下去能夠直接使用Arrays.sort()進行排序。
4.1 寫出事件處理模型中最重要的幾個關鍵詞。學習
事件對象、事件源、事件監聽器
4.2 使用代碼與註釋,證實你理解了事件處理模型。ui
JButton buttonSortSaled = new JButton("\u6309\u9500\u91CF"); //新建按鈕及事件源對象 buttonSortSaled.addActionListener(new ActionListener() {//新建監聽器 public void actionPerformed(ActionEvent arg0) {//事件對象 curOrder="saled"; sortCommand(curOrder,bufferList); generateTextContentFromItem(bufferList); showOnText(textBuffer, textAreaFrame); } });
繼續完善上週的項目做業。考覈點以下:
5.1 嘗試使用圖形界面改寫。
5.2 給出兩人在碼雲上同一項目的提交記錄截圖。
5.3 與上週相比,項目的主要改動是什麼?設計
參考資料:
結對編程參考資料
使用Processon畫圖
視頻-使用Netbeans編寫GUI
重要:Swing實驗參考資料
JTable用法,用於呈現表格數據
Swing相關文章code
題目集:jmu-Java-04-面向對象2-進階-多態接口內部類orm
在碼雲的項目中,依次選擇「統計-Commits歷史-設置時間段」, 而後搜索並截圖
視頻
函數(選作:4-1)、編程(5-3, 5-4)
必定要有實驗總結對象
繼續學習comparable與comparator 5.3用 ArrayIntegerStack 類,IntegerStack進行接口註釋,要判斷棧空和棧滿 5.4.靜態內部類不會編寫