1. 程式人生 > >201671010116. 2016-2017-6《Java程序設計》第六周學習總結

201671010116. 2016-2017-6《Java程序設計》第六周學習總結

port 信息 語法 dex 實現接口 默認 對象 語言 以及

本周通過老師的課堂講解以及假期的學習,知識點總結如下:

1.回調可以指出某個特定事件發生時應該采取的動作。

以構造定時器為例:

在很多程序設計語言中,可以提供一個函數名,定時器周期性的調用它。但Java標準類庫中的類采用的是面向對象方法。將某個類的對象傳遞給定時器,然後定時器,定時器調用這個對象的方法。由於對象可以攜帶一些附加的信息,所有傳遞一個對象比傳遞一個函數靈活的多。

2. 接口不是類,不能使用new運算符實例化一個接口但是可以聲明接口變量,同時接口變量必須引用實現了接口的類對象。

3.一個接口中可以包含多個方法,還可以定義常量,自動設置public static final

聲明在接口中的內部類自動成為static和public類。

接口中不能含有實例域,也不能在接口中實現方法。提供實例域和方法實現的任務應該由實現接口的那個類來完成。

可以將接口看成是沒有實例域的抽象類。

在調用方法時編譯器會檢查這個方法是否存在,如果是實現了接口的對象的數組,接口中提供了該方法,那麽就可以確定該方法一定存在。每個實現了接口的類都必須提供接口中定義的所有方法。

為了讓類實現一個接口,需要1:將類聲明為實現 implements 給定的接口 2:對接口中的所有方法進行定義

4.對象克隆:

拷貝一個變量時,原始變量與拷貝變量引用同一個對象,改變一個變量所引用的對象會對另一個變量產生影響。

所有默認的克隆操作是淺拷貝,並沒有克隆包含在對象中的內部對象。

必須重新定義clone方法,以便實現克隆子對象的深拷貝。對每個類都要做出下列判斷:

1:默認的clone方法能否滿足要求

2:默認的clone方法是否能夠通過調用可變子對象的clone得到修補。

3:是否不應該使用clone

如果要使用clone,必須:

1:實現Cloneable接口

2:使用public訪問修飾符重新定義clone方法,並聲明異常CloneNotSupportedException

即使clone的默認實現能滿足要求,也應該實現Cloneable接口,將clone定義為public,然後調用super.clone();

學習過程中發現以下問題:

1.能夠在含義上區分淺拷貝與深拷貝,但在編程時不太會使用深拷貝

2.對Java中字典序的編程語法不知道怎麽寫

201671010116. 2016-2017-6《Java程序設計》第六周學習總結