201521123075 《Java程序設計》第6周學習總結

1. 本週學習總結

2. 書面做業

1.clone方法

1.1 Object對象中的clone方法是被protected修飾,在自定義的類中覆蓋clone方法時須要注意什麼?

答:第一,要覆蓋clone方法,修飾符爲public;第二,只能在本類內部或者和Object同包的地方使用,而不能在其餘類使用。

1.2 本身設計類時,通常對什麼樣的方法使用protected進行修飾?以做業Shape爲例說明。

答:protected的訪問權限是本類,同包和子類,當子類想要訪問父類的屬性和方法時,能夠使用protected。
   而在做業Shape類中,有兩個子類Circle、Rectangle分別繼承了shape類,,因此選擇用protected修飾

1.3 在test1包中編寫簡單的Employee類,在test2包中新建一個TestProtected類,並在main中嘗試調###用test1包中的Employee的clone方法克隆一個新對象,可否成功?爲何?

答:不能成功,由於Employee類和TestProtected類不在同一個包內。

2.使用匿名類與Lambda表達式改寫題集面向對象2-進階-多態接口內部類的題目5-2

僅需粘貼關鍵代碼與運行結果,圖片不要太大。

關鍵代碼爲:java

class NameComparator implements Comparator<PersonSortable2>
{
    @Override
    public int compare(PersonSortable2 p1,PersonSortable2 p2)
    {
        if(!p1.getName().equals(p2.getName())){
            if(p1.getName().compareTo(p2.getName())>0)
                return 1;
            else
                return -1;
        }
        return 0;
    }
}

運行結果爲:編程

3.分析下列代碼,回答shapeComparator所指向的對象與Comparator接口有什麼關係?

Comparator<Shape> shapeComparator = new  Comparator<Shape>() {  
     @Override  
     public int compare(Shape o1, Shape o2) {  
         //你的代碼     
      }         
};
答:shapeComparator所指向的對象只是爲了實現Comparator接口,讓這個對象能夠用Arrays.sort()方法排序。

4.GUI中的事件處理

4.1 寫出事件處理模型中最重要的幾個關鍵詞。

答:(1)事件源
   (2)事件對象
   (3)事件監聽器

4.2 使用代碼與註釋,證實你理解了事件處理模型。

答:用一段PPT中的代碼
import java.awt.event.*;
import javax.swing.*;
public class Tester {
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());/*插入了一個監聽器*/
    f.add(b);f.setSize(200, 100);f.setVisible(true);
}

5.結對編程:面向對象設計(大做業2-很是重要,未完成-2)

繼續完善上週的項目做業。考覈點以下:

5.1 嘗試使用圖形界面改寫。

5.2 給出兩人在碼雲上同一項目的提交記錄截圖。

5.3 與上週相比,項目的主要改動是什麼?

3. 碼雲上代碼提交記錄及PTA實驗總結

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

3.1. 碼雲代碼提交記錄

3.2. PTA實驗總結

  • 靜態內部類,主要在外部類的方法中,建立內部類對象,使用內部類的屬性,靜態內部類不能直接訪問外部類的非靜態成員,但能夠經過 new 外部類().屬性的方式訪問。
  • 用 ArrayIntegerStack 類,IntegerStack進行接口註釋,ArrayIntegerStack方法跟棧差很少,注意如何判斷棧空和棧滿。
相關文章
相關標籤/搜索