《JAVA面向對象編程》([PDF]-孫衛(wèi)琴著)
《《JAVA面向對象編程》([PDF]-孫衛(wèi)琴著)》由會員分享,可在線閱讀,更多相關《《JAVA面向對象編程》([PDF]-孫衛(wèi)琴著)(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、如果您需要使用本文檔,請點擊下載按鈕下載! 《JAVA面向對象編程》[PDF] 孫衛(wèi)琴著 如果您需要使用本文檔,請點擊下載按鈕下載! 【目錄】 第1章 面向對象開發(fā)方法概述 1 1.1 結構化的軟件開發(fā)方法簡介 3 1.2 面向對象的軟件開發(fā)方法簡介 5 1.2.1 對象模型 6 1.2.2 UML:可視化建模語言 6 1.2.3 Rational Rose:可視化建模工具 7 1.3 面向對象開發(fā)中的核心思想和概念 7 1.3.1 問題領域、對象、屬性、狀態(tài)、行為、方法、實現(xiàn) 7 1.3.2 類、類型 9 1.3.3 消息、服務 10 1.3.4
2、接口 11 1.3.5 封裝、透明 12 1.3.6 抽象 16 1.3.7 繼承、擴展、覆蓋 17 1.3.8 組合 19 1.3.9 多態(tài)、動態(tài)綁定 22 1.4 UML語言簡介 24 1.4.1 用例圖 24 1.4.2 類框圖 25 1.4.3 時序圖 26 1.4.4 協(xié)作圖 27 1.4.5 狀態(tài)轉換圖 27 1.4.6 組件圖 28 1.4.7 部署圖 29 1.5 類之間的關系 29 1.5.1 關聯(lián)(Association) 29 1.5.2 依賴(Dependency) 31 1.5.3 聚集(Aggregation) 31 1.5.4
3、泛化(Generalization) 32 1.5.5 實現(xiàn)(Realization) 32 1.5.6 區(qū)分依賴、關聯(lián)和聚集關系 33 1.6 實現(xiàn)Panel系統(tǒng) 35 1.6.1 擴展Panel系統(tǒng) 37 1.6.2 用配置文件進一步提高Panel系統(tǒng)的可維護性 39 1.6.3 運行Panel系統(tǒng) 40 1.7 小結 41 1.8 思考題 42 第2章 第一個Java應用 43 2.1 創(chuàng)建Java源文件 43 2.1.1 Java源文件結構 44 2.1.2 包聲明語句 45 2.1.3 包引入語句 47 2.1.4 方法的聲明 49 2.1.5 程序入口
4、main()方法的聲明 50 2.1.6 給main()方法傳遞參數(shù) 51 2.1.7 注釋語句 51 2.1.8 關鍵字 51 2.1.9 標識符 52 2.1.10 編程規(guī)范 52 2.2 用JDK管理Java應用 53 2.2.1 JDK簡介 54 2.2.2 編譯Java源文件 55 2.2.3 運行Java程序 56 2.2.4 給Java應用打包 59 2.3 JavaDoc文檔 60 2.3.1 JavaDoc標記 62 2.3.2 javadoc命令的用法 67 2.4 Java虛擬機的運行時數(shù)據(jù)區(qū) 69 2.5 小結 71 2.6 思考題 71
5、 第3章 數(shù)據(jù)類型和變量 73 3.1 基本數(shù)據(jù)類型 74 3.1.1 boolean類型 74 3.1.2 byte、short、int和long類型 75 3.1.3 char類型與字符編碼 76 3.1.4 float和double類型 79 3.2 引用類型 83 3.2.1 基本類型與引用類型的區(qū)別 84 3.2.2 用new關鍵字創(chuàng)建對象 85 3.3 變量的作用域 87 3.3.1 靜態(tài)變量和實例變量的生命周期 88 3.3.2 局部變量的生命周期 91 3.3.3 成員變量和局部變量同名 92 3.3.4 將局部變量的作用域最小化 93 3.4 對
6、象的默認引用:this 94 3.5 參數(shù)傳遞 96 3.6 變量的初始化及默認值 98 3.6.1 成員變量的初始化 98 3.6.2 局部變量的初始化 99 3.7 直接數(shù) 100 3.7.1 直接數(shù)的類型 100 3.7.2 直接數(shù)的賦值 101 3.8 小結 103 3.9 思考題 104 第4章 操作符 107 4.1 操作符簡介 107 4.2 整型操作符 108 4.2.1 一元整型操作符 109 4.2.2 二元整型操作符 110 4.3 浮點型操作符 115 4.4 比較操作符和邏輯操作符 116 4.5 三元操作符“?:” 119 4.6
7、 字符串連接操作符“+” 119 4.7 操作符“==”與對象的equals()方法 121 4.7.1 操作符“==” 121 4.7.2 對象的equals()方法 122 4.8 instanceof 操作符 125 4.9 變量的賦值和類型轉換 127 4.9.1 基本數(shù)據(jù)類型轉換 128 4.9.2 引用類型的類型轉換 131 4.10 小結 131 4.11 思考題 134 第5章 流程控制 137 5.1 分支語句 138 5.1.1 if…else語句 138 5.1.2 switch語句 141 5.2 循環(huán)語句 144 5.2.1 while語
8、句 145 5.2.2 do…while語句 146 5.2.3 for語句 147 5.2.4 多重循環(huán) 150 5.3 流程跳轉語句 151 5.4 綜合例子:八皇后問題 153 5.5 小結 156 5.6 思考題 157 第6章 繼承 161 6.1 繼承的基本語法 161 6.2 方法重載(Overload) 163 6.3 方法覆蓋(Override) 165 6.4 方法覆蓋與方法重載的異同 170 6.5 super關鍵字 171 6.6 多態(tài) 172 6.7 繼承的利弊和使用原則 177 6.7.1 繼承樹的層次不可太多 177 6.7.2
9、繼承樹的上層為抽象層 177 6.7.3 繼承關系最大的弱點:打破封裝 178 6.7.4 精心設計專門用于被繼承的類 180 6.7.5 區(qū)分對象的屬性與繼承 181 6.8 比較組合與繼承 183 6.8.1 組合關系的分解過程對應繼承關系的抽象過程 184 6.8.2 組合關系的組合過程對應繼承關系的擴展過程 186 6.9 小結 189 6.10 思考題 190 第7章 Java語言中的修飾符 195 7.1 訪問控制修飾符 196 7.2 abstract修飾符 198 7.3 final修飾符 200 7.3.1 final類 201 7.3.2 fin
10、al方法 201 7.3.3 final變量 202 7.4 static修飾符 206 7.4.1 static變量 206 7.4.2 static方法 209 7.4.3 static代碼塊 212 7.5 小結 214 7.6 思考題 215 第8章 接口 219 8.1 接口的概念和基本特征 220 8.2 比較抽象類與接口 222 8.3 與接口相關的設計模式 227 8.3.1 定制服務模式 227 8.3.2 適配器模式 231 8.3.3 默認適配器模式 235 8.3.4 代理模式 236 8.3.5 標識類型模式 241 8.3.6 常量
11、接口模式 242 8.4 小結 243 8.5 思考題 244 第9章 異常處理 247 9.1 Java異常處理機制概述 248 9.1.1 Java異常處理機制的優(yōu)點 248 9.1.2 Java虛擬機的方法調(diào)用棧 250 9.1.3 異常處理對性能的影響 253 9.2 運用Java異常處理機制 253 9.2.1 try…catch語句:捕獲異常 253 9.2.2 finally語句:任何情況下都必須執(zhí)行的代碼 254 9.2.3 throws子句:聲明可能會出現(xiàn)的異常 256 9.2.4 throw語句:拋出異常 256 9.2.5 異常處理語句的語法規(guī)則
12、 257 9.2.6 異常流程的運行過程 260 9.3 Java異常類 264 9.3.1 運行時異常 266 9.3.2 受檢查異常 266 9.3.3 區(qū)分運行時異常和受檢查異常 267 9.3.4 區(qū)分運行時異常和錯誤 268 9.4 用戶定義異常 268 9.4.1 異常轉譯和異常鏈 269 9.4.2 處理多樣化異常 271 9.5 異常處理原則 273 9.5.1 異常只能用于非正常情況 273 9.5.2 為異常提供說明文檔 274 9.5.3 盡可能地避免異常 275 9.5.4 保持異常的原子性 276 9.5.5 避免過于龐大的try代碼塊
13、277 9.5.6 在catch子句中指定具體的異常類型 277 9.5.7 不要在catch代碼塊中忽略被捕獲的異常 278 9.6 小結 278 9.7 思考題 279 第10章 類的生命周期 283 10.1 Java虛擬機及程序的生命周期 283 10.2 類的加載、連接和初始化 283 10.2.1 類的加載 284 10.2.2 類的驗證 285 10.2.3 類的準備 285 10.2.4 類的解析 286 10.2.5 類的初始化 286 10.2.6 類的初始化的時機 288 10.3 類加載器 291 10.3.1 類加載的父親委托(Paren
14、t Delegation)機制 293 10.3.2 創(chuàng)建用戶自定義的類加載器 294 10.3.3 URLClassLoader類 300 10.4 類的卸載 301 10.5 小結 302 10.6 思考題 303 第11章 對象的生命周期 305 11.1 創(chuàng)建對象的方式 305 11.2 構造方法 308 11.2.1 重載構造方法 309 11.2.2 默認構造方法 310 11.2.3 子類調(diào)用父類的構造方法 311 11.2.4 構造方法的作用域 314 11.2.5 構造方法的訪問級別 315 11.3 靜態(tài)工廠方法 316 11.3.1 單例(s
15、ingleton)類 317 11.3.2 枚舉類 319 11.3.3 不可變(immutable)類與可變類 321 11.3.4 具有實例緩存的不可變類 325 11.3.5 松耦合的系統(tǒng)接口 327 11.4 垃圾回收 328 11.4.1 對象的可觸及性 329 11.4.2 垃圾回收的時間 330 11.4.3 對象的finalize()方法簡介 331 11.4.4 對象的finalize()方法的特點 331 11.4.5 比較finalize()方法和finally代碼塊 334 11.5 清除過期的對象引用 334 11.6 對象的強、軟、弱和虛引用
16、 336 11.7 小結 342 11.8 思考題 342 第12章 內(nèi)部類 345 12.1 內(nèi)部類的基本語法 345 12.1.1 實例內(nèi)部類 346 12.1.2 靜態(tài)內(nèi)部類 349 12.1.3 局部內(nèi)部類 351 12.2 內(nèi)部類的繼承 352 12.3 子類與父類中的內(nèi)部類同名 353 12.4 匿名類 354 12.5 內(nèi)部接口及接口中的內(nèi)部類 357 12.6 內(nèi)部類的用途 358 12.6.1 封裝類型 358 12.6.2 直接訪問外部類的成員 358 12.6.3 回調(diào)(CallBack) 359 12.7 內(nèi)部類的類文件 361 12.
17、8 小結 361 12.9 思考題 362 第13章 多線程 365 13.1 Java線程的運行機制 365 13.2 線程的創(chuàng)建和啟動 367 13.2.1 擴展java.lang.Thread類 367 13.2.2 實現(xiàn)Runnable接口 372 13.3 線程的狀態(tài)轉換 373 13.3.1 新建狀態(tài)(New) 373 13.3.2 就緒狀態(tài)(Runnable) 374 13.3.3 運行狀態(tài)(Running) 374 13.3.4 阻塞狀態(tài)(Blocked ) 374 13.3.5 死亡狀態(tài)(Dead) 375 13.4 線程調(diào)度 376 13.4.1
18、 調(diào)整各個線程的優(yōu)先級 377 13.4.2 線程睡眠:Thread.sleep()方法 379 13.4.3 線程讓步:Thead.yield()方法 380 13.4.4 等待其他線程結束:join() 381 13.5 獲得當前線程對象的引用 382 13.6 后臺線程 383 13.7 定時器Timer 384 13.8 線程的同步 386 13.8.1 同步代碼塊 389 13.8.2 線程同步的特征 392 13.8.3 同步與并發(fā) 395 13.8.4 線程安全的類 396 13.8.5 釋放對象的鎖 397 13.8.6 死鎖 398 13.9 線程
19、通信 400 13.10 中斷阻塞 404 13.11 線程控制 405 13.11.1 被廢棄的suspend()和resume()方法 406 13.11.2 被廢棄的stop()方法 407 13.11.3 以編程的方式控制線程 407 13.12 線程組 409 13.13 處理線程未捕獲的異常 410 13.14 ThreadLocal類 412 13.15 小結 414 13.16 思考題 415 第14章 數(shù)組 417 14.1 數(shù)組變量的聲明 417 14.2 創(chuàng)建數(shù)組對象 418 14.3 訪問數(shù)組的元素和長度 419 14.4 數(shù)組的初始化 4
20、20 14.5 多維數(shù)組 421 14.6 調(diào)用數(shù)組對象的方法 422 14.7 把數(shù)組作為方法參數(shù)或返回值 423 14.8 數(shù)組排序 425 14.9 數(shù)組的二叉查找算法 426 14.10 哈希表 428 14.11 數(shù)組實用類:Arrays 432 14.12 小結 434 14.13 思考題 435 第15章 Java集合 437 15.1 Collection和Iterator接口 438 15.2 Set(集) 440 15.2.1 Set的一般用法 441 15.2.2 HashSet類 442 15.2.3 TreeSet類 444 15.3
21、List(列表) 448 15.3.1 訪問列表的元素 448 15.3.2 為列表排序 449 15.3.3 ListIterator接口 449 15.3.4 獲得固定長度的List對象 450 15.3.5 比較Java數(shù)組和各種List的性能 451 15.4 Map(映射) 453 15.5 HashSet和HashMap的負載因子 455 15.6 集合的編譯時類型檢查 456 15.7 用for循環(huán)遍歷集合 459 15.8 集合實用類:Collections 459 15.9 歷史集合類 462 15.10 小結 465 15.11 思考題 466
22、第16章 Java I/O系統(tǒng) 467 16.1 輸入流和輸出流概述 467 16.2 輸入流 469 16.2.1 字節(jié)數(shù)組輸入流:ByteArrayInputStream類 470 16.2.2 文件輸入流:FileInputStream類 471 16.2.3 字符串輸入流:StringBufferInputStream類 472 16.2.4 管道輸入流:PipedInputStream類 473 16.2.5 順序輸入流:SequenceInputStream類 474 16.3 過濾輸入流:FilterInputStream類 474 16.3.1 裝飾器設計模式
23、 475 16.3.2 過濾輸入流的種類 476 16.3.3 DataInputStream類 476 16.3.4 LineNumberInputStream類 478 16.3.5 BufferedInputStream類 478 16.3.6 PushbackInputStream類 478 16.4 輸出流 479 16.4.1 字節(jié)數(shù)組輸出流:ByteArrayOutputStream類 479 16.4.2 文件輸出流:FileOutputStream類 480 16.5 過濾輸出流:FilterOutputStream類 481 16.5.1 DataOut
24、putStream類 481 16.5.2 BufferedOutputStream類 482 16.5.3 PrintStream類 483 16.6 Reader/Writer概述 485 16.7 Reader類 487 16.7.1 字符數(shù)組輸入流:CharArrayReader類 488 16.7.2 字符串輸入流:StringReader類 488 16.7.3 InputStreamReader類 489 16.7.4 FileReader類 490 16.7.5 BufferedReader類 490 16.8 Writer類 490 16.8.1 字符數(shù)
25、組輸出流:CharArrayWriter類 491 16.8.2 OutputStreamWriter類 491 16.8.3 FileWriter類 494 16.8.4 BufferedWriter類 494 16.8.5 PrintWriter類 494 16.9 標準I/O 495 16.9.1 重新包裝標準輸入和輸出 495 16.9.2 標準I/O重定向 496 16.10 隨機訪問文件類:RandomAccessFile 497 16.11 新I/O類庫 499 16.11.1 緩沖器Buffer概述 499 16.11.2 通道Channel概述 500
26、 16.11.3 字符編碼Charset類概述 502 16.11.4 用FileChannel讀寫文件 502 16.11.5 控制緩沖區(qū) 503 16.11.6 字符編碼轉換 504 16.11.7 緩沖區(qū)視圖 505 16.11.8 文件映射緩沖區(qū):MappedByteBuffer 507 16.11.9 文件加鎖 508 16.12 對象的序列化與反序列化 510 16.13 File類 515 16.13.1 查看、創(chuàng)建和刪除文件或目錄 517 16.13.2 文件過濾器 519 16.14 小結 520 16.15 思考題 521 第17章 圖形用戶界面
27、523 17.1 AWT容器 523 17.2 布局管理器 525 17.2.1 FlowLayout流式布局管理器 526 17.2.2 BorderLayout邊界布局管理器 528 17.2.3 GridLayout網(wǎng)格布局管理器 530 17.2.4 CardLayout卡片布局管理器 533 17.2.5 GridBagLayout網(wǎng)格包布局管理器 535 17.3 事件處理 539 17.3.1 事件處理的軟件實現(xiàn) 540 17.3.2 事件源 如果您需要使用本文檔,請點擊下載按鈕下載! ﹑事件和監(jiān)聽器的類層次和關系 545 17.4 AWT繪圖 55
28、0 17.5 Graphics類 552 17.6 小結 554 17.7 思考題 554 第18章 Swing組件 557 18.1 Swing組件的基本用法 558 18.2 邊框 559 18.3 按鈕組件 561 18.4 文本框 564 18.5 文本區(qū)域與滾動面板 566 18.6 復選框與單選按鈕 568 18.7 下拉列表 570 18.8 列表框 571 18.9 頁簽面板 573 18.10 菜單 574 18.11 對話框 579 18.12 文件對話框 581 18.13 消息框 584 18.14 繪圖 585 18.15 JAp
29、plet 588 18.16 在JApplet中播放聲音 594 18.17 BoxLayout布局管理器 596 18.18 設置Swing界面的外觀和感覺 599 18.19 小結 601 18.20 思考題 602 第19章 Java常用類 603 19.1 Object類 603 19.2 String類和StringBuffer類 604 19.2.1 String類 604 19.2.2 "hello"與new String("hello") 的區(qū)別 607 19.2.3 StringBuffer類 608 19.2.4 比較String類與Str
30、ingBuffer 類 609 19.2.5 正則表達式 611 19.3 包裝類 612 19.3.1 包裝類的構造方法 613 19.3.2 包裝類的常用方法 614 19.3.3 包裝類的特點 615 19.4 Math類 616 19.5 Random類 617 19.6 處理日期的類 617 19.6.1 Date類 618 19.6.2 DateFormat類 618 19.6.3 Calendar類 620 19.7 BigDecimal類 621 19.8 小結 624 19.9 思考題 624 參考文獻 626 (注:可編輯下載,若有不當之處,請指正,謝謝!)
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。