




已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JAVA 復(fù)習(xí)材料復(fù)習(xí)材料 第一章第一章 1 java 的可移植性 的可移植性 Java 源程序可在不同的操作系統(tǒng)不同的操作系統(tǒng)上運(yùn)行 2 未用 未用 javac 編譯直接運(yùn)行編譯直接運(yùn)行 java 文件 會(huì)出現(xiàn)文件 會(huì)出現(xiàn) 找不到類找不到類 的異常的異常 第二章第二章 1 Java 的數(shù)據(jù)類型的數(shù)據(jù)類型 2 length 的使用的使用 所有的數(shù)組都有一個(gè)屬性 length 數(shù)組名 length 表示系統(tǒng)為數(shù)組所分配的連續(xù)內(nèi)存空間的長度 例如 double number new double 15 number length 的值是 15 int xx new int 3 4 xx length 3 xx 0 length 4 3 數(shù)組的引用 數(shù)組的引用 數(shù)組屬于引用數(shù)據(jù)類型 因此兩個(gè)相同類型的數(shù)組如果具有相同的引用 它們就有 完全相同的元素 例如 int a 1 2 3 b 4 5 數(shù)組變量 a 和 b 分別存放著不同的引用 但是 如果使用了賦值語句 a b 那么 a 中存放的引用就和 b 的相同 這時(shí)系統(tǒng)將釋放最初分配給數(shù)組 a 的元素 使得 a 的元素和 b 的元素相同 即 a 0 a 1 就是 b 0 b 1 而最初分配給數(shù)組 a 的三個(gè)元素已不復(fù)存在 4 數(shù)組的初始化 數(shù)組的初始化 動(dòng)態(tài)初始化 動(dòng)態(tài)初始化 程序員指定數(shù)組長度 但不直接為數(shù)組元素分配初值 例 float boy new float 5 上述語句相當(dāng)于 float boy new float 5 boy 0 21 3f boy 1 23 89f 靜態(tài)初始化 靜態(tài)初始化 程序員顯式指定每個(gè)元素的初值 由系統(tǒng)決定數(shù)組長度 例 float boy 21 3f 23 89f 2 0f 23f 778 98f 注 聲明數(shù)組的不能指明數(shù)組的大小 例 int 3 a 1 2 3 錯(cuò)誤 5 動(dòng)態(tài)初始化和靜態(tài)初始化 動(dòng)態(tài)初始化和靜態(tài)初始化不能不能同時(shí)進(jìn)行 同時(shí)進(jìn)行 例 float boy new float 5 21 3f 23 89f 2 0f 23f 778 98f 是錯(cuò)誤的 6 命令行參數(shù) 命令行參數(shù) 每一個(gè) Java Application 程序都有一個(gè)含有 String args 參數(shù)的 main 方法 該方法的說明如 下 public static void main String args 參數(shù) String args 表示 main 方法接收了一個(gè)字符串?dāng)?shù)組 該字符串?dāng)?shù)組就是從命令行上傳 遞過來的參數(shù) 由于 Java Application 程序可以用命令行來啟動(dòng) 所以命令行參數(shù)就成為向 Java Application 程序傳遞參數(shù)數(shù)據(jù)的常用而且有效的手段 例 int i Integer parseInt args 0 int j Integer parseInt args 1 運(yùn)行 java 程序時(shí)鍵盤鍵入的實(shí)參至于字符串?dāng)?shù)組 arg 的 arg 0 和 arg 1 里 通過拆箱后將 值分別賦值給 i 和 j 運(yùn)行格式為 例 java A 5 6 A 為 java 文件名 5 和 6 為傳入的實(shí)參 第三章第三章 1 int 型的整數(shù)運(yùn)算結(jié)果為型的整數(shù)運(yùn)算結(jié)果為 int 型 精度比型 精度比 int 小的數(shù) 小的數(shù) byte short 運(yùn)算結(jié)果都為整型 運(yùn)算結(jié)果都為整型 補(bǔ)充 補(bǔ)充 char 字符型與字符型與 int 整型運(yùn)算結(jié)果為整型運(yùn)算結(jié)果為 int 整型 整型 2 單精度和雙精度的浮點(diǎn)型 單精度后面加 單精度和雙精度的浮點(diǎn)型 單精度后面加 f 例如 例如 3 1f 為單精度 為單精度 3 1 為雙精度為雙精度 3 switch 開關(guān)語句開關(guān)語句 switch 語句是多分支的開關(guān)語句 它的一般格式定義如下 switch 表達(dá)式 case 常量值 1 若干個(gè)語句 break case 常量值 2 若干個(gè)語句 break case 常量值 n 若干個(gè)語句 break default 若干語句 default 語句是可選的 它接受除上面接受值的其他值 case 后面可以跟多個(gè)語句 這些語句可以不用大括號(hào)括起來 switch 后面括號(hào)中表達(dá)式的值必須是符合 byte char short int enum String 類型 Java 7 才支持 的常量表達(dá)式常量表達(dá)式 而不能用浮點(diǎn)類型或不能用浮點(diǎn)類型或 long 類型類型 每個(gè)每個(gè) case 語句后的值必須是與表達(dá)式類型兼容的特定的一個(gè)常量語句后的值必須是與表達(dá)式類型兼容的特定的一個(gè)常量 它必須為一個(gè)常量 而 不是變量 重復(fù)的重復(fù)的 case 值是不允許的 值是不允許的 4 case 語句后面加不加語句后面加不加 break 的區(qū)別的區(qū)別 例 switch op case result a b break case result a b case result a b case result a b break default result 0 若 op 為 加 break 時(shí)程序執(zhí)行完 result a b 后會(huì)跳出 switch 若沒加 break 程序會(huì)繼 續(xù)執(zhí)行下面的 case 語句 直到遇到 break 就跳出 switch 語句或當(dāng)沒遇到 break 語句時(shí)就執(zhí) 行完 switch 語句再跳出 switch 語句 若例子中 op 為 的話 程序就會(huì)順序執(zhí)行 result a b result a b result a b 后遇到 break 語句就跳出 switch 語句 5 break 和和 continue 的區(qū)別的區(qū)別 如果在某次循環(huán)體的執(zhí)行中執(zhí)行了 break 語句 那么強(qiáng)行跳出整個(gè)循環(huán)強(qiáng)行跳出整個(gè)循環(huán) 如果在某次循環(huán) 體的執(zhí)行中執(zhí)行了 continue 語句 那么結(jié)束本次循環(huán)結(jié)束本次循環(huán) 即不再執(zhí)行本次循環(huán)中循環(huán)體中 continue 后面的語句 而轉(zhuǎn)入進(jìn)行下一次循環(huán) 例 public class ContinueOp public static void main String args int n for n 1 n 是帶符號(hào)右移 負(fù)數(shù)高位補(bǔ) 1 正數(shù)補(bǔ) 0 例 1001 1 1100 左移不管負(fù)數(shù)還是正數(shù) 在低位永遠(yuǎn)補(bǔ) 0 例 1001 是不帶符號(hào)右移 不論負(fù)數(shù)還是正數(shù) 高位補(bǔ) 0 例 1001 1 0100 第四章第四章 1 用關(guān)鍵字用關(guān)鍵字 static 修飾修飾的成員變量稱作的成員變量稱作靜態(tài)變量靜態(tài)變量或或類變量類變量 而 而沒有使用沒有使用 static 修飾修飾的成員的成員 變量稱作變量稱作實(shí)例變量實(shí)例變量 例如 下述例如 下述 A 類中 類中 x 是實(shí)例變量 而是實(shí)例變量 而 y 是類變量 是類變量 class A float x static int y 類變量是與類相關(guān)聯(lián)的數(shù)據(jù)變量 也就是說 類變量是和該類所創(chuàng)建的所有對(duì)象所有對(duì)象相關(guān)聯(lián)的變量 改變其 中一個(gè)對(duì)象的這個(gè)類變量就同時(shí)改變了其它對(duì)象的這個(gè)類變量 無論是否產(chǎn)生了對(duì)象或無論產(chǎn)生了多少對(duì) 象的情況下 類變量在內(nèi)存空間里只有一份一份 2 實(shí)例變量 實(shí)例方法和靜態(tài)成員變量 靜態(tài)方法的調(diào)用 實(shí)例變量 實(shí)例方法和靜態(tài)成員變量 靜態(tài)方法的調(diào)用 1 實(shí)例變量和實(shí)例方法必須通過對(duì)象來調(diào)用 例 例 Chinese ch1 new Chinese 創(chuàng)建一個(gè)對(duì)象 ch1 name1 name1 為 Chinese 類里的實(shí)例變量 ch1 singOurCountry1 singOurCountry1 為 Chinese 類里的實(shí)例方法 2 靜態(tài)成員變量和靜態(tài)方法既可以通過對(duì)象也可以通過類名調(diào)用 例 例 通過類名調(diào)用 Chinese name2 name2 為 Chinese 類里的實(shí)例變量 Chinese singOurCountry singOurCountry2 為 Chinese 類里的靜態(tài)方法 通過創(chuàng)建對(duì)象調(diào)用 Chinese ch1 new Chinese 創(chuàng)建一個(gè)對(duì)象 ch1 name1 ch1 singOurCountry1 3 在 在靜態(tài)方法靜態(tài)方法里里只能直接調(diào)用只能直接調(diào)用同類中其它的同類中其它的靜態(tài)成員 包括變量和方法 靜態(tài)成員 包括變量和方法 而 而不能直接訪不能直接訪 問類中的問類中的非靜態(tài)成員非靜態(tài)成員 這是因?yàn)?對(duì)于非靜態(tài)的方法和變量 需要先創(chuàng)建類的實(shí)例對(duì)象后 這是因?yàn)?對(duì)于非靜態(tài)的方法和變量 需要先創(chuàng)建類的實(shí)例對(duì)象后 才可使用 而靜態(tài)方法在使用前不用創(chuàng)建任何對(duì)象 才可使用 而靜態(tài)方法在使用前不用創(chuàng)建任何對(duì)象 例 例 public class Person int arr new int 10 public static void main String args System out println arr 1 例子會(huì)無法編譯 因?yàn)?main 是靜態(tài)方法 在方法體中要調(diào)用 arr 1 而 arr 數(shù)組是實(shí)例變 量 創(chuàng)建類的時(shí)候 main 方法跟類同時(shí)創(chuàng)建 arr 并未創(chuàng)建即 arr 并不存在 4 靜態(tài)代碼塊是使用 靜態(tài)代碼塊是使用 static 聲明的代碼塊聲明的代碼塊 當(dāng)類被載入時(shí) 靜態(tài)代碼塊被執(zhí)行 即使產(chǎn)生 當(dāng)類被載入時(shí) 靜態(tài)代碼塊被執(zhí)行 即使產(chǎn)生 了多個(gè)實(shí)例對(duì)象 了多個(gè)實(shí)例對(duì)象 靜態(tài)代碼塊都只被執(zhí)行一次靜態(tài)代碼塊都只被執(zhí)行一次 在類中定義的 在類中定義的靜態(tài)代碼塊會(huì)優(yōu)先于構(gòu)造塊 靜態(tài)代碼塊會(huì)優(yōu)先于構(gòu)造塊 構(gòu)造塊優(yōu)先于構(gòu)造方法構(gòu)造塊優(yōu)先于構(gòu)造方法被執(zhí)行 被執(zhí)行 每次實(shí)例化對(duì)象時(shí)構(gòu)造塊都會(huì)執(zhí)行 可執(zhí)行多次每次實(shí)例化對(duì)象時(shí)構(gòu)造塊都會(huì)執(zhí)行 可執(zhí)行多次 例 考運(yùn)行結(jié)果 例 考運(yùn)行結(jié)果 執(zhí)行結(jié)果 執(zhí)行結(jié)果 5 單態(tài)設(shè)計(jì)模式 背下來 單態(tài)設(shè)計(jì)模式 背下來 6 方法重載 方法重載 方法重載是靜態(tài)多態(tài)靜態(tài)多態(tài) 編譯時(shí)的多態(tài) 是指一個(gè)類中可以有多個(gè)方法具有相同的名字相同的名字 但這些方法的參數(shù)必須不同參數(shù)必須不同 參數(shù)的個(gè)數(shù)不同 或者參數(shù)的類型不同 注意 不能單靠注意 不能單靠 返回值判斷重載返回值判斷重載 例 例 public void info String name double count public void info String name int count 7 this 1 區(qū)分成員變量和局部變量 區(qū)分成員變量和局部變量 成員變量在整個(gè)類內(nèi)有效 局部變量僅在方法內(nèi)有效 在方法體中聲明的變量以及方法的 參數(shù)稱作局部變量 方法的參數(shù)在整個(gè)方法內(nèi)有效 方法內(nèi)定義的局部變量從它定義的位 置之后開始有效 如果局部變量的名字與成員變量的名字相同 則成員變量被隱藏 即這個(gè)成員變量在這個(gè) 方法內(nèi)暫時(shí)失效 這時(shí)如果想在該方法內(nèi)使用成員變量 成員變量前面的 this 就不可以 省略 2 在一個(gè)構(gòu)造方法里調(diào)用其他重載的構(gòu)造方法 在一個(gè)構(gòu)造方法里調(diào)用其他重載的構(gòu)造方法 此外 若要在一個(gè)構(gòu)造方法里調(diào)用其他重載的構(gòu)造方法 不是用構(gòu)造方法名 而是用 this 參數(shù)列表 的形式 而且必須是第一條語句 例如 例如 public class Person String name int age Person String name this name name 方法內(nèi)使用成員變量方法內(nèi)使用成員變量 name Person String name int age this name 構(gòu)造方法里調(diào)用其他重載的構(gòu)造方法構(gòu)造方法里調(diào)用其他重載的構(gòu)造方法 Person String name this age age 方法內(nèi)使用成員變量方法內(nèi)使用成員變量 age 8 包 包 1 javac 可以使用參數(shù)可以使用參數(shù) d 指定生成的字節(jié)碼文件所在的目錄指定生成的字節(jié)碼文件所在的目錄 如果不使用參數(shù) 如果不使用參數(shù) d javac 在當(dāng)前目錄生成字節(jié)碼文件 在當(dāng)前目錄生成字節(jié)碼文件 例如 javac d F tsinghua 1000 MyFile java 將源文件 MyFile java 生成的全部字節(jié)碼文件存放到 F tsinghua 1000 2 通過關(guān)鍵字 通過關(guān)鍵字 package 聲明包語句 聲明包語句 package 語句作為語句作為 Java 源文件的源文件的第一條語句第一條語句 指明 指明 該源文件定義的類所在的包 該源文件定義的類所在的包 每個(gè)源文件只能聲明一個(gè)包每個(gè)源文件只能聲明一個(gè)包 package 語句的一般格式為 語句的一般格式為 package 包名包名 如 package sunrise package sun 包名可以是一個(gè)合法的標(biāo)識(shí)符 也可以是若干個(gè)標(biāo)識(shí)符加 分割而成 3 使用 使用 import 語句可以語句可以引入包中的類引入包中的類 java lang 不需要用不需要用 import 語句導(dǎo)入 因?yàn)樗哉Z句導(dǎo)入 因?yàn)樗?動(dòng)導(dǎo)入 動(dòng)導(dǎo)入 9 訪問權(quán)限 訪問權(quán)限 假設(shè)對(duì)象 a 是類 A 創(chuàng)建的 現(xiàn)將對(duì)象對(duì)成員的訪問權(quán)限 總結(jié)如下表 背 例 背 例 10 基本數(shù)據(jù)類型的包裝類 基本數(shù)據(jù)類型的包裝類 會(huì)舉例子 會(huì)舉例子 裝箱 裝箱 將一個(gè)基本數(shù)據(jù)類型變?yōu)榘b類 這樣的過程稱為裝箱操作 拆箱 拆箱 將一個(gè)包裝類變?yōu)榛緮?shù)據(jù)類型這樣的過程稱為拆箱操作 例 例 Integer i 30 自動(dòng)裝箱成 Integer Float f 30 3f 自動(dòng)裝箱成 Float int x i 自動(dòng)拆箱為 int float y f 自動(dòng)拆箱為 float 第五章第五章 1 JAVA 是是單繼承單繼承即只可以繼承一個(gè)父類 補(bǔ)充 但可以在繼承的同時(shí)實(shí)現(xiàn)多個(gè)接口 接即只可以繼承一個(gè)父類 補(bǔ)充 但可以在繼承的同時(shí)實(shí)現(xiàn)多個(gè)接口 接 口類之間用逗號(hào)隔開 例 口類之間用逗號(hào)隔開 例 class A extends B implements C D 繼承繼承 B 類 實(shí)現(xiàn)類 實(shí)現(xiàn) C D 兩兩 個(gè)接口 子類的成員不一定比父類的多 因?yàn)楦割悆?nèi)部可能有私有成員 子類不能繼承 個(gè)接口 子類的成員不一定比父類的多 因?yàn)楦割悆?nèi)部可能有私有成員 子類不能繼承 繼承語句為繼承語句為 extends 2 方法重寫 方法重寫 方法名 返回類型 參數(shù)類型與個(gè)數(shù)也一樣方法名 返回類型 參數(shù)類型與個(gè)數(shù)也一樣 重寫后的方法 重寫后的方法不能降低不能降低原來訪原來訪 問權(quán)限 只能變高或保持不變 原來的訪問權(quán)限為問權(quán)限 只能變高或保持不變 原來的訪問權(quán)限為 public 的 重寫后仍然為的 重寫后仍然為 public 權(quán)權(quán) 限由高到低 限由高到低 public protected friendly private 方法重寫和方法重載 會(huì)舉例子 方法重寫和方法重載 會(huì)舉例子 1 方法重寫方法重寫 若父類中有一個(gè)方法如下 public void breathe System out println LandAnimal is breathing 子類對(duì)該方法重寫 public void breathe System out println fish is breathing 可見 除了方法體不一樣 其他一樣 訪問權(quán)限可以與原來的一樣 也可以提高該方法的可見 除了方法體不一樣 其他一樣 訪問權(quán)限可以與原來的一樣 也可以提高該方法的 訪問權(quán)限訪問權(quán)限 2 方法重載方法重載 是指一個(gè)類中可以有多個(gè)方法具有相同的名字 但這些方法的參數(shù)必須不同 參數(shù)的個(gè)數(shù) 不同 或者參數(shù)的類型不同 public void breathe 方法體 public void breathe int x 方法體 上面的兩個(gè)方法體一不一樣都可以上面的兩個(gè)方法體一不一樣都可以 3 super 的使用的使用 1 調(diào)用父類中被重寫的方法 調(diào)用父類中被重寫的方法 super method 參數(shù)表 method 為在子類中被重寫的父類中的方法 public void shout super quack quack 為在子類中被重寫的父類中的方法 2 訪問父類被隱藏的成員變量 訪問父類被隱藏的成員變量 super 變量名 變量名 如 如 super y y 為在子類中被隱藏的父類中的成員變量 3 調(diào)用父類的構(gòu)造方法 調(diào)用父類的構(gòu)造方法 super 參數(shù)列表參數(shù)列表 注意 注意 必須是子類構(gòu)造方法中的頭一條語句必須是子類構(gòu)造方法中的頭一條語句 補(bǔ)充 補(bǔ)充 1 如果在子類的構(gòu)造方法中 沒有顯式地使用 super 關(guān)鍵字調(diào)用父類的某個(gè)構(gòu)造方法 那 么默認(rèn)地有 super 語句 即調(diào)用父類的不帶參數(shù)的構(gòu)造方法 public class B extends A public B super 2 如果類中定義了一個(gè)或多個(gè)構(gòu)造方法 那么 Java 不提供默認(rèn)無參的構(gòu)造方法 因此 當(dāng)我們?cè)诟割愔卸x多個(gè)構(gòu)造方法時(shí) 應(yīng)當(dāng)包括一個(gè)不帶參數(shù)的構(gòu)造方法 以防子類省略 super 時(shí)出現(xiàn)錯(cuò)誤 4 子類構(gòu)造過程 先構(gòu)造子類中父類的部分 再順序構(gòu)造子類自身的部分 子類構(gòu)造過程 先構(gòu)造子類中父類的部分 再順序構(gòu)造子類自身的部分 具體例子看期具體例子看期 中考卷子程序分析題的第三小題中考卷子程序分析題的第三小題 5 上轉(zhuǎn)型對(duì)象 上轉(zhuǎn)型對(duì)象 會(huì)舉例子會(huì)舉例子 上轉(zhuǎn)型對(duì)象是由子類創(chuàng)建的 例例 1 A a A 為父類 a new B B 為子類 或?qū)懗?A a new B 例例 2 若 a 為父類 A 創(chuàng)建的對(duì)象 b 為子類 B 創(chuàng)建的對(duì)象 則 a b 寫法正確 b a 寫法錯(cuò)誤因?yàn)橄罗D(zhuǎn)型要強(qiáng)制轉(zhuǎn)換要寫成 b B a 才行 書本書本 P83 例題 目測(cè)出程序分析 例題 目測(cè)出程序分析 運(yùn)行結(jié)果 運(yùn)行結(jié)果 6 抽象類和抽象方法 抽象類和抽象方法 用 abstract 關(guān)鍵字來修飾一個(gè)類時(shí) 這個(gè)類叫做抽象類 用 abstract 來修飾一個(gè)方法時(shí) 該方法叫做抽象方法 與 final 類和方法相反 abstract 類必須被繼承 類必須被繼承 abstract 方法必須方法必須 被重寫被重寫 抽象類和抽象方法不能用抽象類和抽象方法不能用 final 修飾修飾 抽象沒有方法體 在方法名后直接跟上分號(hào) 例 例 abstract class A abstract int aa int x int y 用分號(hào)來代替方法體的定義 抽象類中可以有實(shí)現(xiàn)某種功能的具體方法 例 例 public abstract class Drawing public abstract void drawDot int x int y public void drawLine int x1 int y1 int x2 int y2 但一個(gè)類中只要有抽象方法就一定是抽象類但一個(gè)類中只要有抽象方法就一定是抽象類 抽象類不能被實(shí)例化不能被實(shí)例化 7 接口 接口 接口中只有常量和抽象方法接口中只有常量和抽象方法 可以定義一個(gè)抽象類抽象類用 implements 關(guān)鍵字去實(shí)現(xiàn)一個(gè)接口中 定義的部分方法部分方法 也可以定義一個(gè)具體類具體類用 implements 關(guān)鍵字去實(shí)現(xiàn)一個(gè)接口中的所有方所有方 法法 接口中的方法被默認(rèn)是 public 所以類在實(shí)現(xiàn)接口方法時(shí) 一定要用 public 來修飾 如果接口的方法的返回類型如果不是 void 的 那么在類中實(shí)現(xiàn)該接口方法時(shí) 方法體至少 要有一個(gè) return 語句 如果是 void 型 類體除了兩個(gè)大括號(hào)外 也可以沒有任何語句 常量默認(rèn)用 public static final 修飾 修飾 8 態(tài)內(nèi)部類 態(tài)內(nèi)部類 1 內(nèi)部類可以擁有自己的成員 內(nèi)部類可以擁有自己的成員 2 內(nèi)部類可以直接引用外部類的成員 如下面例子中紅字部分 外部類只能通過創(chuàng)建內(nèi)部 內(nèi)部類可以直接引用外部類的成員 如下面例子中紅字部分 外部類只能通過創(chuàng)建內(nèi)部 類對(duì)象來訪問內(nèi)部類的成員 如下面例子中的藍(lán)字 內(nèi)部類可以是抽象的 類對(duì)象來訪問內(nèi)部類的成員 如下面例子中的藍(lán)字 內(nèi)部類可以是抽象的 9 匿名 內(nèi)部 類 匿名 內(nèi)部 類 當(dāng)使用類創(chuàng)建對(duì)象時(shí) 程序允許把類體與對(duì)象的創(chuàng)建組合在一起 也就是說 類創(chuàng)建對(duì)象當(dāng)使用類創(chuàng)建對(duì)象時(shí) 程序允許把類體與對(duì)象的創(chuàng)建組合在一起 也就是說 類創(chuàng)建對(duì)象 時(shí) 除了構(gòu)造方法還有類體 此類體被認(rèn)為是該類的一個(gè)子類去掉類聲明后的類體 稱作時(shí) 除了構(gòu)造方法還有類體 此類體被認(rèn)為是該類的一個(gè)子類去掉類聲明后的類體 稱作 匿名類 匿名類不能聲明對(duì)象 但可以直接用匿名類創(chuàng)建一個(gè)對(duì)象 匿名類 匿名類不能聲明對(duì)象 但可以直接用匿名類創(chuàng)建一個(gè)對(duì)象 假設(shè) Hello 是類 已存在 那么下列代碼就是用 Hello 的一個(gè)子類 匿名類 創(chuàng)建對(duì)象 new Hello 匿名類的類體 具體例子 具體例子 10 異常 異常 理解代碼流程理解代碼流程 1 捕獲異常 try catch finally 捕獲異常的第一步是用 try 選定捕獲異常的范圍 由 try 所 限定的代碼塊中的語句在執(zhí)行過程中可能會(huì)生成異常對(duì)象 Try 語句不能單獨(dú)存在 必須 有后面的 catch 或 finally 語句 每個(gè) try 代碼塊可以伴隨一個(gè)或多個(gè) catch 語句 用于處理 try 代碼塊中所生成的異常事件 catch 語句只需要一個(gè)形式參數(shù)來指明它所能夠捕獲的異 常類型 這個(gè)類必須是 Throwable 的子類 運(yùn)行時(shí)系統(tǒng)通過參數(shù)值把被拋出的異常對(duì)象傳遞給 catch 塊 雖然 finally 作為 try catch finally 結(jié)構(gòu)的一部分 但在程序中是可選的 也就是說 可以沒有 finally 語句 如果存在 finally 語句 不論 try 塊中是否發(fā)生了異常 是否執(zhí)行過 catch 語句 是否包含有 break continue return 或者 throw 語句 都必須執(zhí)行 finally 塊中 所包含的語句 除非遇到 System exit 0 語句 例子 要知道輸出結(jié)果 例子 要知道輸出結(jié)果 結(jié)果 結(jié)果 2 異常的拋出是通過 異常的拋出是通過 throws 語句來實(shí)現(xiàn)的 語句來實(shí)現(xiàn)的 11 受限型類 受限型類 設(shè)置上限 設(shè)置上限 聲明對(duì)象 類名稱 對(duì)象名稱 定義類 訪問權(quán)限 類名稱 設(shè)置下限 設(shè)置下限 聲明對(duì)象 類名稱 對(duì)象名稱 定義類 訪問權(quán)限 類名稱 注 只要知道設(shè)置上限是用注 只要知道設(shè)置上限是用 extends 關(guān)鍵字和設(shè)置下限是用關(guān)鍵字和設(shè)置下限是用 super 關(guān)鍵字就行 關(guān)鍵字就行 第六章第六章 1 創(chuàng)建字符串對(duì)象 創(chuàng)建字符串對(duì)象 使用使用 StringString 類的構(gòu)造方法創(chuàng)建字符串對(duì)象 類的構(gòu)造方法創(chuàng)建字符串對(duì)象 例如 例如 String s s new String we are students 聲明和創(chuàng)建可用一步完成 聲明和創(chuàng)建可用一步完成 String s new String we are students 也可以用一個(gè)已創(chuàng)建的字符串創(chuàng)建另一個(gè)字符串 如 也可以用一個(gè)已創(chuàng)建的字符串創(chuàng)建另一個(gè)字符串 如 String tom String s 用一個(gè)字符數(shù)組用一個(gè)字符數(shù)組 a 創(chuàng)建一個(gè)字符串對(duì)象 如 創(chuàng)建一個(gè)字符串對(duì)象 如 char a b o y String s new String a 若 String a new String 20 A tom 寫法是錯(cuò)誤錯(cuò)誤的 2 與與 equals 的區(qū)別的區(qū)別 比較實(shí)體的地址是否一樣 Equals 比較實(shí)體里的內(nèi)容是否一樣 例例 1 結(jié)果為結(jié)果為 str1 str2 str1 str3 例例 2 結(jié)果為結(jié)果為 str1 equal str2 str1 equal str3 3 public String substring int startpoint 字符串對(duì)象調(diào)用該方法獲得一個(gè)當(dāng)前字符串的子串 該子串是從當(dāng)前字符串的 startpoint 處 截取到最后所得到的字符串 public String substring int start int end 方法獲得一個(gè)當(dāng)前字符串的子串 該子串是從當(dāng)前字符串的 start 處截取到 end 處所得到的 字符串 但不包括 end 處所對(duì)應(yīng)的字符 例 例 String tom I love tom String s tom substring 2 5 則 s 為 lov 4 重寫 重寫 toString 方法 方法 要會(huì)寫出程序結(jié)果要會(huì)寫出程序結(jié)果 例 書例 書 P109 運(yùn)行結(jié)果 運(yùn)行結(jié)果 第八章第八章 1 兩種創(chuàng)建線程的方法 繼承法和接口法 用 兩種創(chuàng)建線程的方法 繼承法和接口法 用 start 方法使線程處于就緒態(tài) 方法使線程處于就緒態(tài) 1 繼承法 繼承法 創(chuàng)建一個(gè)子類繼承 Thread 類 并重寫 Thread 里的 run 方法 例 例 2 接口法 接口法 通常使用的構(gòu)造方法是 Thread Runnable target 與 與 Thread Runnable target String name 該構(gòu)造方法中的參數(shù)是一個(gè) Runnable 類型的接口類型的接口 因此 在創(chuàng)建線 程對(duì)象時(shí)必須向構(gòu)造方法的參數(shù)傳遞一個(gè)實(shí)現(xiàn) Runnable 接口類的實(shí)例接口類的實(shí)例 實(shí)現(xiàn) Runnable 接 口的類要對(duì) Runnable 接口里的 run 方法 例 例 2 Tread 類實(shí)現(xiàn)了類實(shí)現(xiàn)了 Runnable 接口 接口 選擇題選擇題 3 線程優(yōu)先級(jí) 線程優(yōu)先級(jí) 調(diào)度器把線程的優(yōu)先級(jí)分為 1010 個(gè)級(jí)別 分別用 Thread 類中的類常量類常量表示 默認(rèn)優(yōu)先級(jí)為默認(rèn)優(yōu)先級(jí)為 5 5 線程的優(yōu)先級(jí)可以通過 setPrioritysetPriority
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小班月餅活動(dòng)方案
- 局義務(wù)植樹活動(dòng)方案
- 工會(huì)茶藝培訓(xùn)活動(dòng)方案
- 山區(qū)活動(dòng)策劃方案
- 工會(huì)彩繪活動(dòng)方案
- 工作達(dá)人活動(dòng)方案
- 幫扶員工活動(dòng)方案
- 小班剝蒜活動(dòng)方案
- 小學(xué)謁陵活動(dòng)方案
- 少先隊(duì)特色章活動(dòng)方案
- 康復(fù)醫(yī)院的設(shè)計(jì)要點(diǎn)精選
- 10kv高壓架空電線防護(hù)方案概述
- 空調(diào)維保方案及報(bào)價(jià)(共3頁)
- 國家種畜禽生產(chǎn)經(jīng)營許可證管理系統(tǒng)操作指南
- 石油化工管道施工方案
- 四川SG-008技術(shù)、經(jīng)濟(jì)簽證核定單(共2頁)
- 崗位分析及崗位職責(zé)富士康公司組織架構(gòu)及部門職責(zé)
- 商品房銷售代理合同
- 智能化建筑工程檢驗(yàn)批質(zhì)量驗(yàn)收記錄文本表(共69頁)
- GB∕T 40740-2021 堆焊工藝評(píng)定試驗(yàn)
- 檢驗(yàn)檢測(cè)機(jī)構(gòu)內(nèi)審示例(41頁)正式完美版
評(píng)論
0/150
提交評(píng)論