201521123078 《Java程序设计》第6周学习总结
生活随笔
收集整理的這篇文章主要介紹了
201521123078 《Java程序设计》第6周学习总结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 本周學習總結
2. 書面作業(yè)
1.clone方法
1.1 Object對象中的clone方法是被protected修飾,在自定義的類中覆蓋clone方法時需要注意什么?
1.子類要實現(xiàn)Cloneable接口,否則即使覆蓋了clone()方法,還是會導致拋出CloneNotSupportedException異常
2.在子類中重寫clone方法,并聲明為public,其他類才能調用。
1.2 自己設計類時,一般對什么樣的方法使用protected進行修飾?以作業(yè)Shape為例說明。
用protected修飾的方法只能被子類和同包訪問,所以Shape中的getPerimeter與getArea方法只想繼承的子類才有這種方法所以用protected修飾。
1.3 在test1包中編寫簡單的Employee類,在test2包中新建一個TestProtected類,并在main中嘗試調用test1包中的Employee的clone方法克隆一個新對象,能否成功?為什么?
失敗,因為clone方法用的是protected修飾的,而protected所修飾的只能在子類和同包中訪問。
2.使用匿名類與Lambda表達式改寫題集面向對象2-進階-多態(tài)接口內部類的題目5-2
Comparator<PersonSortable2> NameComparator = new Comparator<PersonSortable2>(){ public int compare(PersonSortable2 o1, PersonSortable2 o2) {if (!(o1.getAge() == o2.getAge())) {if (o1.getAge() > o2.getAge())return 1;elsereturn -1;}return 0;} }; Comparator<PersonSortable2> AgeComparator = new Comparator<PersonSortable2>(){public int compare(PersonSortable2 o1, PersonSortable2 o2) {if (!o1.getName().equals(o2.getName())) {if (o1.getName().compareTo(o2.getName()) > 0)return 1;elsereturn -1;}return 0;} }; Comparator<PersonSortable2> NameComparator = (PersonSortable2 o1, PersonSortable2 o2)->(o1.getName()).compareTo(o2.getName()); Comparator<PersonSortable2> AgeComparator = (PersonSortable2 o1, PersonSortable2 o2)->o1.getAge()-o2.getAge();3.分析下列代碼,回答shapeComparator所指向的對象與Comparator接口有什么關系?
Comparator<Shape> shapeComparator = new Comparator<Shape>() { @Override public int compare(Shape o1, Shape o2) { //你的代碼 } };這是一個匿名內部類,實現(xiàn)了Comparator接口并且重寫了compare方法。
4.GUI中的事件處理
4.1 寫出事件處理模型中最重要的幾個關鍵詞。
1.事件源(Event Source)2.事件(Event)3.事件監(jiān)聽器(Event Listener)
4.2 使用代碼與注釋,證明你理解了事件處理模型。
public class MainGUI {public static void main(String[] args) {JFrame f = new JFrame("Test");f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JButton b = new JButton("Press Me!");//事件源b.addActionListener(new ButtonHandler());//注冊監(jiān)聽器f.add(b);f.setSize(200, 100);f.setVisible(true);}private static class ButtonHandler implements ActionListener{//監(jiān)聽器public void actionPerformed(ActionEvent e) {System.out.println("Action occurred");System.out.println(e.getSource());//獲得事件源}} }5.結對編程:面向對象設計(大作業(yè)2-非常重要,未完成-2)
5.1 嘗試使用圖形界面改寫。
5.2 給出兩人在碼云上同一項目的提交記錄截圖。
5.3 與上周相比,項目的主要改動是什么?
3. 碼云上代碼提交記錄及PTA實驗總結
3.1. 碼云代碼提交記錄
3.2. PTA實驗總結
5-3主要是熟悉棧的操作,5-4需要靜態(tài)內部類的熟悉以及使用。
轉載于:https://www.cnblogs.com/onetruck/p/6659793.html
總結
以上是生活随笔為你收集整理的201521123078 《Java程序设计》第6周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: learn_Day14 内置函数补充、
- 下一篇: textmetric结构