201521123011《Java程序设计》第6周学习总结
1. 本周學習總結
1.1 面向對象學習暫告一段落,請使用思維導圖,以封裝、繼承、多態為核心概念畫一張思維導圖,對面向對象思想進行一個總結。
XMind
2. 書面作業
1.clone方法
1.1 Object對象中的clone方法是被protected修飾,在自定義的類中覆蓋clone方法時需要注意什么?
1.2 自己設計類時,一般對什么樣的方法使用protected進行修飾?以作業Shape為例說明。
1.3 在test1包中編寫簡單的Employee類,在test2包中新建一個TestProtected類,并在main中嘗試調用test1包中的Employee的clone方法克隆一個新對象,能否成功?為什么?
答:
1.1
因為clone在object中是被protected修飾的,所以其他類不能訪問。若將其修改成public修飾,便可以使其他類來訪問。
1.2
public class Rectangle extends Shape{ private double width;//protected double width private double length;//protected double length }這里的長寬使用private修飾,使得子類無法直接訪問,所以需要用getter setter的方法來調用。
若想子類可以直接存取長寬的話,這里就需要將private修改為protected
使用protected既可以讓其他類無法訪問,也可以使子類直接存取。
1.3
不能成功,因為Employee類和TestProtected類不在同一個包內。
可以將Employee用public修飾,讓其他類可訪問。
2.使用匿名類與Lambda表達式改寫題集面向對象2-進階-多態接口內部類的題目5-2
僅需粘貼關鍵代碼與運行結果,圖片不要太大。
答:
class NameComparator implements Comparator<PersonSortable2> {@Overridepublic int compare(PersonSortable2 o1, PersonSortable2 o2) {// TODO Auto-generated method stubreturn new String (o1.getName()).compareTo(o2.getName());}} class AgeComparator implements Comparator<PersonSortable2> {@Overridepublic int compare(PersonSortable2 o1, PersonSortable2 o2) {// TODO Auto-generated method stubreturn o1.getAge()-o2.getAge();}}Lambda表達式
Comparator<PersonSortable2> NameComparator=(o1,o2)-> o1.getName().compareTo(o2.getName());Comparator<PersonSortable2> AgeComparator=(o1,o2)-> o1.getAge()-o2.getAge();運行結果:
3.分析下列代碼,回答shapeComparator所指向的對象與Comparator接口有什么關系?
Comparator<Shape> shapeComparator = new Comparator<Shape>() { @Override public int compare(Shape o1, Shape o2) { //你的代碼 } };答:匿名內部類把compare進行改造、重寫,但是shapeComparator還是實現Comparator接口。
4.GUI中的事件處理
4.1 寫出事件處理模型中最重要的幾個關鍵詞。
4.2 使用代碼與注釋,證明你理解了事件處理模型。
答:
4.1
(1)事件源
(2)事件對象
(3)監聽器
4.2
這里參考一下ppt里的代碼
5.結對編程:面向對象設計(大作業2-非常重要,未完成-2)
繼續完善上周的項目作業。考核點如下:
5.1 嘗試使用圖形界面改寫。
5.2 給出兩人在碼云上同一項目的提交記錄截圖。
5.3 與上周相比,項目的主要改動是什么?
答:
參考資料:
結對編程參考資料
使用Processon畫圖
視頻-使用Netbeans編寫GUI
重要:Swing實驗參考資料
JTable用法,用于呈現表格數據
Swing相關文章
3. 碼云上代碼提交記錄及PTA實驗總結
題目集:jmu-Java-04-面向對象2-進階-多態接口內部類
3.1. 碼云代碼提交記錄
3.2. PTA實驗總結
1.用 ArrayIntegerStack 類,IntegerStack進行接口注釋,ArrayIntegerStack方法跟棧差不多,要去判斷什么時候棧滿,什么時候棧空。
2.靜態內部類,定義在類中,任何方法外,用static定義。主要在外部類的方法中,創建內部類對象,使用內部類的屬性,靜態內部類只能訪問外部類的靜態成員。
轉載于:https://www.cnblogs.com/jiaowoxiaotiancai/p/6658580.html
總結
以上是生活随笔為你收集整理的201521123011《Java程序设计》第6周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我总结的js性能优化的小知识
- 下一篇: 数组的排序算法