日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

201521123011《Java程序设计》第6周学习总结

發布時間:2025/7/14 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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里的代碼

public class EventObject implements java.io.Serializable {protected transient Object source;public EventObject(Object source);public Object getSource();//getSource獲得事件源public String toString();}public class MainGUI {public static void main(String[] args) {JFrame f = new JFrame("Test");//創建一個事件模板Testf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設置用戶在此窗體上發起 "close" 時默認執行的操作JButton b = new JButton("Press Me!");//這里是一個按鈕事件源b.addActionListener(new ButtonHandler());//下面需要使用事件監聽器,所以這里先注冊f.add(b);f.setSize(200, 100);f.setVisible(true);}private static class ButtonHandler implements ActionListener{//監聽器public void actionPerformed(ActionEvent e) {System.out.println("Action occurred");System.out.println(e.getSource());//獲得事件源}} }

5.結對編程:面向對象設計(大作業2-非常重要,未完成-2)
繼續完善上周的項目作業。考核點如下:
5.1 嘗試使用圖形界面改寫。
5.2 給出兩人在碼云上同一項目的提交記錄截圖。
5.3 與上周相比,項目的主要改動是什么?

答:

public void addBook(String bookId,String bookQuantity){if(hm.containsKey(bookId)){int value=Integer.parseInt(hm.get(bookId));value+=Integer.parseInt(bookQuantity);hm.put(bookId, value+"");}else{hm.put(bookId, bookQuantity);}}//修改數量 public void updateQuantity(String bookId,String bookQuantity){hm.put(bookId, bookQuantity);}//獲取購物車的所有信息 并計算總價for(int j=0;j<al.size();j++){BookBean bb=al.get(j);totlePrice+=bb.getPrice()*Integer.parseInt(getQuantityById(bb.getBookId()+""));}return al;}//獲取總價

參考資料:
結對編程參考資料
使用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周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。