07年JAVA資格認證考試 SCJP310-055中文考綱

第一部分:聲明、初始化、和作用域。 

定義類、內部類、靜態類、接口、枚舉。

正確使用包語句和導入語句,包括靜態導入。

實現或繼承一個或多個接口。

定義、繼承抽象類。聲明、初始化並使用基本類型、數組、枚舉、靜態對象、成員變數和局部變數,使用合法的變數標識符。

定義方法和靜態方法,使用符合javabean命名規範的方法名。

定義並使用可變參數。正確重寫和重載方法並識別方法合法的返回值,包括協變返回。

為類及層次類編寫構造函式,知道默認構造函式的行為,實例化類及內部類。 

第二部分:流程控制 

正確使用if、switch語句包括參數類型的合法使用。

正確使用所有帶標籤或不帶標籤的循環語句包括增強型for,使用break,continue,計算循環計數變數的值。正確使用斷言。

正確使用異常和異常處理語句(try,catch,finally)。

正確定義或重寫拋出異常的方法。

知道在程式段的特定點出現的異常對程式的影響,識別其是runtime exception、checked exception或error. 

知道下列異常在什麼情況下會發生: arrayindexoutofboundsexception,classcastexception, illegalargumentexception, illegalstateexception, nullpointerexception, numberformatexception, assertionerror, exceptionininitializererror, stackoverflowerror or noclassdeffounderror. 

知道上面哪些是由虛擬機拋出的,其他的在什麼情況應該被程式拋出。 

第三部分:api內容 

正確使用基本的類型包裝器及其自動拆/裝箱。

區別string、stringbuilder和stringbuffer的不同。

用以下類向給定檔案中寫或從中讀數據:java.io: bufferedreader,bufferedwriter, file, filereader, filewriter和printwriter. 

使用以下api序列化或反序列化對象:java.io: datainputstream, dataoutputstream, fileinputstream, fileoutputstream, objectinputstream, objectoutputstream and serializable. 

使用java.text包中的標準api正確格式化或解析特定locale的日期、數字和貨幣值。

給定需要使用預設或特定locale的代碼段,給出合理的使用。

描述java.util.locale類的目的和使用。

使用java.util和java.util.regex包中標準的api格式化或解析strings和streams.對於strings, 會使用pattern和matcher類及string.split方法。

會使用規則表達式進行模式匹配(限.、*、+、?、\d、\s、\w、[]、())。 

*、+和?的使用限於貪婪匹配中作為量詞,()操作符僅用做分組機制,不用於在匹配中捕獲內容。

對於streams,會用formatter和scanner類及printwriter.format和printwriter.printf方法。識別並使用用於格式化字元串的格式化參數(限%b、%c、%d、%f、%s)。

第四部分:並行性
 
能用java.lang.thread和java.lang.runnable兩種方法定義、實例化和啟動新執行緒。

知道什麼情況下執行緒能存在,知道轉換執行緒狀態的方式。

正確使用對象鎖保護靜態變數和成員變數,正確使用wait, notify和notifyall方法及synchronized修飾符。 

第五部分:面向對象原理 

能在類中實現緊密封裝、高內聚、低耦合併描述其好處。

會寫示範多態的代碼。

知道什麼時候要上溯,知道和對象引用的上溯有關的運行時error。

解釋與構造函式、成員變數、靜態變數、成員方法、靜態方法有關的修飾符在繼承機制中的效果。

引用重載或重寫的方法,引用超類的或重寫的或重載的構造函式。開發代碼實現"is-a"和"has-a"關係。 

第六部分:集合/泛型 

正確選用集合類和接口包括comparable接口。

區分對hashcode和equals方法重寫的正確與否。

知道==和equals方法的不同。

會使用集合的泛型版本,尤其是set、list和map接口及implementation類。

知道非泛型版本的集合的不足並會用泛型版本去重構。

在類和接口聲明中、成員變數和方法參數中及返回類型中合理使用類型參數。

編寫泛型方法和通配型方法,知道其入口的異同。

使用java.util包對list進行以下操作:排序、二分法查找、轉換為array。

使用java.util包對array進行以下操作:排序、二分法查找、轉換為list。

使用java.util.comparator和java.lang.comparable接口影響lists和arrays的排序。

知道基本類型包裝器和java.lang.string的自然排序的排序效果。 

第七部分:基礎內容 

正確使用訪問控制修飾符、包聲明語句、導入語句。給定一個類和命令行,知道預期的行為。 

明確當對象引用或基本類型作為形參傳遞給方法被賦值或修改後的影響。

給定一段代碼,知道什麼對象在什麼地方能或不能被垃圾收集器合理的收集,明確垃圾收集機制和結束機制的行為。

給定jar檔案內或外的展開的類的全名,為其構造合適的目錄結構。

給定一段代碼和一個classpath,確定這個classpath是否能使代碼正確編譯。

正確使用賦值操作符(限=、+=、-=)、算術操作符(限+、-、*、/、%、++、--)、關係操作符(限<、<=、>、>=、==、!=)、instanceof操作符、邏輯操作符(限&、|、^、!、&&、||)、條件操作符( ? : )。

編寫代碼測試兩個對象或基本類型是否相等。