《Java基礎》PPT課件

上傳人:san****019 文檔編號:21286190 上傳時間:2021-04-27 格式:PPT 頁數(shù):307 大?。?.47MB
收藏 版權(quán)申訴 舉報 下載
《Java基礎》PPT課件_第1頁
第1頁 / 共307頁
《Java基礎》PPT課件_第2頁
第2頁 / 共307頁
《Java基礎》PPT課件_第3頁
第3頁 / 共307頁

下載文檔到電腦,查找使用更方便

19.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《Java基礎》PPT課件》由會員分享,可在線閱讀,更多相關《《Java基礎》PPT課件(307頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、第 一 章 Java語 言 概 述 Java 基 礎 知 識 培 訓 主 要 內(nèi) 容 提 要 Java 基 礎 培 訓Java程 序 的 開 發(fā) 環(huán) 境 Java程 序 相 關 問 題 Java語 言 的 主 要 特 性 Java語 言 的 發(fā) 展 歷 史 Java程 序 的 開 發(fā) 過 程 Java語 言 的 發(fā) 展 歷 史 Java 基 礎 培 訓Internet迅 猛 發(fā) 展Java語 言 正 式 問 世被 美 國 著 名 雜 志 PC Magazine評 為 1995年 十 大 優(yōu)秀 科 技 產(chǎn) 品 之 一James Gosling領 導 的 Green小組 開 發(fā) 了 面 向 數(shù)字

2、家 電 的 Oak語言 推 出 了 Java2平臺 。 性 能 上 有 所提 高 , 而 且 對Java的 基 本 模 式進 行 了 完 善 , 并提 供 了 更 為 豐 富的 API 1991 1995 1998 Java2 的 版 本 劃 分 Java 基 礎 培 訓 Java語 言 的 主 要 特 性 Java 基 礎 培 訓 平 臺 無 關 性 簡 單 性 面 向 對 象 分 布 式 、 動 態(tài) 性 、 可 靠 性 、 安 全 性 多 線 程 Java程 序 相 關 問 題 Java虛 擬 機Java虛 擬 機 在 真 實 機 器 中 用 軟 件 模 擬 實 現(xiàn)的 一 種 抽 象 的

3、機 器 。 ( Java虛 擬 機 規(guī) 范 ) Java虛 擬 機 主 要 由 五 個 部 分 組 成 : 指 令 系 統(tǒng) 、寄 存 器 、 棧 、 存 儲 區(qū) 、 碎 片 回 收 區(qū) 解 釋 和 執(zhí) 行 Java程 序 編 譯 后 產(chǎn) 生 的 字 節(jié) 碼 Java 基 礎 培 訓 Java程 序 相 關 問 題 Java API Java API是 Java系 統(tǒng) 提 供 的 預 先 定 義 好 的 軟 件 組 件 的 集 合 ,它 們 提 供 了 許 多 可 供 程 序 員 調(diào) 用 的 常 用 功 能 豐 富 的 API為 程 序 員 提 供 了 極 大 的 方 便 , 但 也 是 學 習

4、 的 難 點 要 學 會 使 用 Java API手 冊 (The Java 2 Platform API Specification ) http:/ Java 基 礎 培 訓 Java程 序 相 關 問 題 Java程 序 的 運 行 機 制 Java 基 礎 培 訓 源 代 碼 可 執(zhí) 行 代 碼目 標 碼編譯 連接 運行源 代 碼 字 節(jié) 碼編譯 解 釋 執(zhí)行傳 統(tǒng) 語 言 的 運 行 機 制Java語 言 的 運 行 機 制 Java程 序 相 關 問 題 Java程 序 類 型 Java應 用 程 序 ( Java Application) 是 獨 立 完 整 的 程 序 在 命

5、令 行 調(diào) 用 獨 立 的 解 釋 器 軟 件 即 可 運 行 主 類 必 須 有 main方 法 , 這 也 是 程 序 的 入 口 Java小 程 序 Java Applet 是 指 在 客 戶 端 運 行 的 Java小 程 序 , 一般 來 說 客 戶 端 是 指 用 戶 所 使 用 的 瀏 覽 器 Java Servlet 是 在 服 務 器 端 執(zhí) 行 的 Java小 程 序 ,為 了 能 夠 支 持 Servlet的 運 行 , 服 務 器 端 必 須 安 裝 包 含Java虛 擬 機 的 服 務 器 軟 件 , 這 種 能 夠 支 持 服 務 端 小 程序 的 服 務 器 一

6、般 被 稱 為 應 用 服 務 器 Java 基 礎 培 訓 Java開 發(fā) 環(huán) 境JDK/J2SDK( Java Developer Kit) JDK1.02 JDK1.1.x JDK1.2/J2SDK1.3/J2SDK1.4/JDK5.0(J2SDK1.5) Java集 成 開 發(fā) 環(huán) 境 ( IDE) NetBeans JBuilder Eclipse JCreator Forte for Java Visual J+ WSAD Java 基 礎 培 訓 JDK的 安 裝 與 設 置從 http:/ 以 下 載 相 關 版 本 的JDK( 本 課 程 采 用 J2SDK1.3以 上 版

7、本 )在 Windows平 臺 上 運 行 安 裝 程 序 , 以 安 裝 JDK設 置 PATH( 文 件 路 徑 ) 參 數(shù) 。 由 于 JDK提 供 的 實用 程 序 都 在 安 裝 目 錄 下 的 子 目 錄 bin下 , 為 了 能在 任 何 目 錄 下 直 接 使 用 文 件 名 調(diào) 用 這 些 程 序 , 必須 設 置 操 作 系 統(tǒng) 的 文 件 路 徑 參 數(shù) Java 基 礎 培 訓 環(huán) 境 設 置在 Windows環(huán) 境 下 , 為 了 快 速 進 入 指 定 目 錄 的 命令 行 窗 口 , 可 在 注 冊 表 中 增 加 項 目 : HKEY_CLASSES_ROOTD

8、irectoryshell進 入 命 令 行command 默 認 值 設 為 : cmd /k cd %1 Java 基 礎 培 訓 JDK的 目 錄 結(jié) 構(gòu) Java 基 礎 培 訓 bin目 錄 中 包 含 了 所 有 JDK5.0提供 的 實 用 程 序demo目 錄 中 包 含 了 JDK5.0自 帶 的實 例 程 序inculde目 錄 中 包 含 了 一 些 支 持Java native方 法 的 CC+頭 文 件jre目 錄 中 包 含 了 Java運 行 環(huán) 境所 需 的 所 有 文 件 , 這 個 目 錄 中 所 包含 的 java運 行 環(huán) 境 是 JDK私 有 的 ,它

9、 只 為 JDK的 實 用 程 序 提 供 支 持lib目 錄 中 包 含 了 Java開 發(fā) 環(huán) 境所 需 的 庫 文 件 , 它 們 以 jar文 件 的形 式 保 存sample目 錄 中 包 含 的 是 體 現(xiàn)JDK5.0新 特 性 的 一 些 例 程 JDK實 用 程 序 簡 介javac: Java編 譯 器 , 將 Java源 代 碼 編 譯 為 字 節(jié) 碼 ;java: Java解 釋 器 , 用 來 解 釋 執(zhí) 行 Java程 序 的 字 節(jié) 碼 文件 ;appletviewer(小 程 序 瀏 覽 器 ): 一 種 執(zhí) 行 HTML文 件 上 的Java小 程 序 類 的

10、Java瀏 覽 器 ;javadoc: 根 據(jù) Java源 代 碼 及 其 說 明 語 句 生 成 的 HTML文 檔 ;jdb: Java調(diào) 試 器 , 可 以 逐 行 地 執(zhí) 行 程 序 、 設 置 斷 點 和 檢查 變 量 ;javah: 產(chǎn) 生 可 以 調(diào) 用 Java過 程 的 C過 程 , 或 建 立 能 被Java程 序 調(diào) 用 的 C過 程 的 頭 文 件 ;javap: Java反 匯 編 器 , 顯 示 編 譯 類 文 件 中 的 可 訪 問 功 能和 數(shù) 據(jù) , 同 時 顯 示 字 節(jié) 代 碼 含 義 。 Java 基 礎 培 訓 Java程 序 的 開 發(fā) 過 程 編

11、輯 源 代 碼 編 譯 源 代 碼 文 件運 行 程 序 Java 基 礎 培 訓 Java程 序 的 開 發(fā) 過 程 編 輯 源 代 碼一 般 情 況 下 , 我 們 可 以 使 用 系 統(tǒng) 平 臺 下 的 任 何 文 本 編 輯器 進 行 源 代 碼 的 編 輯 , 在 Windows平 臺 下 常 用 的 是 Window系 統(tǒng) 自 帶 的 “ 記 事 本 ” 程 序 或 “ 寫 字 板 ” 程 序 Java源 碼 大 小 寫 敏 感Java源 碼 文 件 的 擴 展 名 : .javaJava源 程 序 文 件 也 不 能 隨 意 命 名 , 其 文 件 名 必 須 與 程 序中 主

12、類 的 類 名 完 全 相 同 , 包 括 大 小 寫 在 內(nèi) Java 基 礎 培 訓public class MyFirstJavaApp public static void main(String args) System.out.println(“This is My First Java Application!”); Java程 序 的 開 發(fā) 過 程 編 譯 源 代 碼使 用 JDK實 用 程 序 javac對 源 代 碼 文 件 進 行 編 譯 C:MyJavajavac MyFirstJavaApp.java 如 果 系 統(tǒng) 提 示 符 再 次 出 現(xiàn) 并 且 沒 有 任

13、何 消 息 產(chǎn) 生 , 那么 編 譯 便 成 功 了 如 果 有 系 統(tǒng) 報 錯 消 息 產(chǎn) 生 , 則 表 示 程 序 編 譯 出 錯 , 程序 員 必 須 閱 讀 報 錯 信 息 , 并 根 據(jù) 這 些 信 息 對 程 序 進 行修 改程 序 成 功 編 譯 后 , 在 與 源 代 碼 文 件 同 一 目 錄 下 會生 成 一 個 新 的 文 件 , 其 文 件 名 與 源 代 碼 文 件 名 相同 , 擴 展 名 為 “ .class” 。 這 個 文 件 就 是 源 代 碼文 件 編 譯 產(chǎn) 生 的 程 序 字 節(jié) 碼 文 件 MyFirstJava.class Java 基 礎 培

14、訓 Java程 序 的 開 發(fā) 過 程 運 行 程 序 要 執(zhí) 行 一 個 Java程序 非 常 簡 單 , 只 需在 字 節(jié) 碼 文 件 所 在目 錄 下 輸 入 下 列 命令 就 可 以 了 : java 字 節(jié) 碼 文 件 名 Java 基 礎 培 訓 第 2 章 面 向 對 象 的 編 程 概 念 主 要 內(nèi) 容 提 要 Java 基 礎 培 訓什 么 是 接 口 什 么 是 繼 承 什 么 是 類 什 么 是 消 息 什 么 是 對 象 面 向 對 象 vs. 面 向 過 程面 向 對 象 ( OOP) Object-Oriented Programming 用 類 class封 裝

15、 數(shù) 據(jù) 以 及 與 數(shù) 據(jù) 相 關 的 操 作 用 類 的 繼 承 性 來 實 現(xiàn) 類 的 重 用 性 多 態(tài) 性 面 向 “ 對 象 ” , 由 對 象 提 供 服 務面 向 過 程 ( POP) Procedure-Oriented Programming 以 功 能 為 組 織 單 元 通 過 數(shù) 據(jù) 結(jié) 構(gòu) 來 描 述 具 體 的 問 題 數(shù) 據(jù) 在 功 能 (函 數(shù) )之 間 以 參 數(shù) 的 形 式 被 傳 送 Java 基 礎 培 訓 現(xiàn) 實 世 界 中 的 對 象現(xiàn) 實 世 界 是 由 對 象 構(gòu) 成 的現(xiàn) 實 世 界 中 任 何 實 體 都 可 以 看 作 是 對 象 現(xiàn) 實

16、 世 界 中 的 對 象 有 兩 個 共 同 特 征 : 狀 態(tài) 行 為 Java 基 礎 培 訓 軟 件 對 象 ( Object)軟 件 對 象 是 現(xiàn) 實 世 界 對 象 的 抽 象軟 件 對 象 同 樣 具 有 狀 態(tài) 和 行 為定 義 : 對 象 是 變 量 和 相 關 方 法 的 軟 件 組 合 Java 基 礎 培 訓 變 量方 法 現(xiàn) 實 對 象 軟 件 對 象 Java 基 礎 培 訓 方 法 叫 咬 吃是 否 餓 了: 否名 字 : 小Q顏 色 : 黑 封 裝 ( Encapsulation)封 裝 性 體 現(xiàn) 了 面 向 對 象 程 序 設 計 的 一 個 特 性 , 將

17、方 法 和 數(shù) 據(jù) 組 織 在 一 起 , 隱 藏 其 具 體 實 現(xiàn) 而 對 外體 現(xiàn) 出 公 共 的 接 口 模 塊 化 隱 藏 信 息 Java 基 礎 培 訓 變 量方 法 消 息 ( Message)復 雜 的 行 為 必 須 通 過 對 象 之 間 的 交 互 來 實 現(xiàn)軟 件 對 象 與 其 它 對 象 進 行 交 互 與 通 訊 是 通 過 互 發(fā)消 息 來 實 現(xiàn) 的 Java 基 礎 培 訓 對 象 B對 象 A 消 息 消 息 的 組 成消 息 的 目 的 對 象要 執(zhí) 行 的 方 法 的 名 稱方 法 所 需 參 數(shù) Java 基 礎 培 訓 你 的 車 你 換 檔 (

18、 低 檔 ) 消 息 的 性 質(zhì)同 一 對 象 可 接 收 不 同 形 式 的 多 個 消 息 , 產(chǎn) 生 不 同的 響 應同 一 個 消 息 可 以 發(fā) 給 不 同 的 對 象 , 所 做 出 的 響 應可 以 截 然 不 同發(fā) 送 方 不 需 要 知 道 接 受 方 如 何 對 請 求 予 以 響 應 的 Java 基 礎 培 訓 類 ( Class)定 義 : 類 是 藍 圖 或 原 型 , 它 定 義 了 所 有 某 種 類 的對 象 的 共 有 的 變 量 和 方 法類 是 具 有 共 同 屬 性 和 行 為 的 對 象 的 抽 象 與 集 合 Java 基 礎 培 訓 私 有 的

19、實 現(xiàn) 細 節(jié)公 共 API 實 例 ( Instance)定 義 : 特 定 類 所 描 述 的 一 個 具 體 對 象 Java 基 礎 培 訓 對 象 、 類 與 實 體 的 關 系 Java 基 礎 培 訓 對 象類 計 算 機 邏 輯 的 實 現(xiàn)映 射計 算 機 世 界實例化 抽象 實 體抽 象 數(shù) 據(jù) 類現(xiàn) 實 世 界概 念 世 界 抽 象 繼 承 ( Inheritance)廣 義 地 說 , 繼 承 是 指 能 夠 直 接 獲 得 已 有 的 性 質(zhì) 和 特性 , 而 不 必 重 復 定 義 它 們 。 在 面 向 對 象 的 軟 件 技 術(shù)中 , 繼 承 是 子 類 自 動

20、地 共 享 父 類 中 定 義 的 數(shù) 據(jù) 和 方法 的 機 制 。 Java 基 礎 培 訓 共 性 部 分繼 承 部 分個 性 部 分 父 類子 類 單 重 繼 承 與 多 重 繼 承單 重 繼 承 : 一 個 子 類 只 有 一 個 唯 一 確 定 的 父 類 單 重 繼 承 所 構(gòu) 成 的 類 的 關 系 結(jié) 構(gòu) 是 一 棵 樹多 重 繼 承 : 一 個 子 類 可 以 有 多 個 不 同 的 父 類 多 重 繼 承 所 構(gòu) 成 的 類 的 關 系 結(jié) 構(gòu) 是 一 個 格Java語 言 僅 支 持 單 重 繼 承 Java 基 礎 培 訓 繼 承 的 作 用使 軟 件 系 統(tǒng) 具 有

21、開 放 性更 好 地 進 行 抽 象 與 分 類實 現(xiàn) 代 碼 的 復 用提 高 可 維 護 性 Java 基 礎 培 訓 類 型 ( Type)在 面 向 數(shù) 值 的 編 程 中 , 類 型 通 常 用 作 數(shù) 據(jù) 的 表 示 。在 Java這 樣 的 強 類 型 語 言 中 , 在 編 譯 期 , 每 一 個變 量 和 表 達 式 都 有 一 個 類 型 與 之 相 對 應Java中 的 類 型 : 基 本 類 型 、 類 、 接 口 Java 基 礎 培 訓 接 口 ( Interface)接 口 和 類 一 樣 也 是 一 種 類 型 , 也 同 樣 包 含 一 些 方法 的 定 義

22、。 但 與 類 不 同 的 是 : 接 口 中 所 定 義 的 所有 方 法 都 是 抽 象 方 法 ( 即 沒 有 實 現(xiàn) 的 方 法 ) 。接 口 中 所 定 義 的 方 法 由 實 現(xiàn) ( implement) 該 接口 的 類 來 實 現(xiàn) , 一 個 類 可 以 同 時 實 現(xiàn) 多 個 接 口接 口 機 制 使 Java的 面 向 對 象 編 程 變 得 更 加 靈 活 。解 決 了 單 重 繼 承 帶 來 的 問 題接 口 定 義 了 對 象 的 行 為 模 型 , 相 當 于 一 個 協(xié) 議 。實 現(xiàn) 接 口 的 各 個 類 負 責 實 現(xiàn) 接 口 所 定 義 的 行 為 。雖 然

23、 實 現(xiàn) 細 節(jié) 各 不 相 同 , 但 對 用 戶 來 說 是 一 樣 的行 為 。 Java 基 礎 培 訓 面 向 對 象 的 示 例本 例 中 包 含 很 多 對 象 : 點 、 窗 口 、 顏 色 、 點 擊 事件 代 碼 : ClickMeApp.java , ClickMe.java, Spot.java Java 基 礎 培 訓 Spot類 Java 基 礎 培 訓 public class Spot /instance variables private int size; public int x, y; /constructor public Spot() x = -1;

24、 y = -1; size = 1; /methods for access to the size instance variable public void setSize(int newSize) if (newSize = 0) size = newSize; public int getSize() return size; Spot對 象 Java 基 礎 培 訓 private Spot spot = null; . spot = new Spot(); 示 例 中 的 消 息 Java 基 礎 培 訓 g2d.setColor(Color.WHITE); g2d.fillRec

25、t(0, 0, getWidth() - 1, getHeight() - 1); 示 例 中 的 繼 承 和 接 口 Java 基 礎 培 訓 public class ClickMe extends JComponent implements MouseListener . public class ClickMe extends JComponent implements MouseListener . /Methods required by the MouseListener interface. public void mousePressed(MouseEvent event)

26、if (spot = null) spot = new Spot(); spot.setSize(RADIUS); spot.x = event.getX(); spot.y = event.getY(); repaint(); public void mouseClicked(MouseEvent event) public void mouseReleased(MouseEvent event) public void mouseEntered(MouseEvent event) public void mouseExited(MouseEvent event) 歡 迎 提 問 第 三 章

27、 Java語 言 基 礎 變 量 ( Variable) 對 象 將 它 的 狀 態(tài) 存 儲 在 變 量 中定 義 : 變 量 是 一 個 由 標 識 符 命 名 的 數(shù) 據(jù) 項 變 量 名 必 須 是 一 個 合 法 的 標 識 符 -一 個 以 字 母開 頭 的 無 限 制 的 Unicode字 符 序 列 。變 量 的 聲 明 : ; int i; double pi = 3.1415926; String name; Java 基 礎 培 訓 數(shù) 據(jù) 類 型 每 個 變 量 都 必 須 有 一 個 數(shù) 據(jù) 類 型 . 一 個 變 量 的 數(shù)據(jù) 類 型 決 定 了 它 能 容 納 的 值

28、 和 在 它 上 面 可 以 進 行什 么 操 作 。Java編 程 語 言 有 兩 大 類 數(shù) 據(jù) 類 型 : 原 始 類 型 (primitive) 引 用 類 ( reference) Java 基 礎 培 訓 Java的 數(shù) 據(jù) 類 型 Java 基 礎 培 訓 Java type systemprimitive referencechar numeric boolean class interface arrayinteger floating-pointbyte short int long float double 原 始 類 型 原 始 類 型 變 量 包 含 單 個 值 ,

29、其 大 小 和 格 式 與 它 的類 型 匹 配 : 數(shù) 字 、 字 符 或 布 爾 值 。Java語 言 沒 有 unsigned類 型 0 xFFFF和 0 xFF誰 大 ?Java語 言 必 須 強 制 類 型 轉(zhuǎn) 換 float f = 0.1; boolean b = 1; Java 基 礎 培 訓 引 用 類 型數(shù) 組 , 類 和 接 口 就 是 引 用 數(shù) 據(jù) 類 型 .與 原 始 類 型變 量 的 值 不 同 的 是 , 引 用 類 型 變 量 的 值 是 對 應 變量 代 表 的 一 個 值 或 一 組 值 的 引 用 ( 也 就 是 其 地 址 ) 在 其 他 語 言 里

30、引 用 被 稱 為 指 針 或 者 內(nèi) 存 地 址 。Java不 支 持 顯 示 地 使 用 地 址 , 而 是 使 用 變 量 的 名稱 代 替 。 Java 基 礎 培 訓 變 量 的 引 用 通 過 變 量 名 引 用 變 量 的 值簡 單 名 稱 : 由 單 個 標 識 符 組 成 的 名 稱限 定 名 稱 : 通 過 類 名 或 對 象 名 引 用 該 類 或 對 象 中的 成 員 變 量 System.out.println(i+spot.x); Java 基 礎 培 訓 作 用 范 圍 變 量 的 作 用 范 圍 是 可 以 通 過 簡 單 名 稱 引 用 該 變 量的 程 序

31、區(qū) 域作 用 范 圍 也 決 定 了 系 統(tǒng) 為 該 變 量 創(chuàng) 建 和 釋 放 內(nèi) 存的 時 間 Java 基 礎 培 訓 例 子 Java 基 礎 培 訓 int i = 10;if ( i 0) int i = 20; System.out.println(“The value of i = ” + i); System.out.println(“The value of i = ” + i); 最 終 變 量 你 可 以 在 任 意 范 圍 里 將 一 個 變 量 定 義 為 最 終 變 量( final)最 終 變 量 的 值 一 經(jīng) 初 始 化 就 不 能 改 變類 似 于 C語

32、言 中 的 常 量 (const) Java 基 礎 培 訓final int aFinalVar = 0; final int blankfinal; . . . blankfinal = 0; 操 作 符 、 表 達 式 、 語 句 和 塊 Java 基 礎 培 訓 自 學 ! 第 四 章 對 象 基 礎 和 簡 單 數(shù) 據(jù) 對 象 主 要 內(nèi) 容 Java 基 礎 培 訓數(shù) 組 數(shù) 字字 符 和 字 符 串對 象 的 生 存 周 期 對 象 的 生 命 周 期 Java 基 礎 培 訓 CreateObjectDeom Java 基 礎 培 訓 public class CreateOb

33、jectDemo public static void main(String args) /創(chuàng) 建 一 個 Point對 象 和 兩 個 Rectangle對 象 Point origin_one = new Point(23, 94); Rectangle rect_one = new Rectangle(origin_one, 100, 200); Rectangle rect_two = new Rectangle(50, 100); / 顯 示 rect_one的 寬 、 高 以 及 面 積 System.out.println(Width of rect_one: + rect_o

34、ne.width); System.out.println(Height of rect_one: + rect_one.height); System.out.println(Area of rect_one: + rect_one.area(); rect_two.origin = origin_one; /設 置 rect_two的 位 置 / 顯 示 rect_two的 位 置 System.out.println(X Position of rect_two: + rect_two.origin.x); System.out.println(Y Position of rect_tw

35、o: + rect_two.origin.y); / 移 動 rect_two并 且 顯 示 它 的 新 位 置 rect_two.move(40, 72); System.out.println(X Position of rect_two: + rect_two.origin.x); System.out.println(Y Position of rect_two: + rect_two.origin.y); 對 象 的 創(chuàng) 建 Java 基 礎 培 訓類 型 名 引 用 變 量 = new 構(gòu) 造 器 (構(gòu) 造 器 的 參 數(shù) ) 聲 明 一 個 變 量 來 引 用 對 象為 了 聲

36、明 一 個 變 量 來 引 用 對 象 , 你 可 以 使 用 類 或者 接 口 的 名 字 作 為 變 量 的 類 型聲 明 并 沒 有 創(chuàng) 建 新 對 象 。 在 對 該 引 用 變 量 賦 值 前 ,該 引 用 為 空 ,稱 為 空 引 用 (null) Java 基 礎 培 訓 類 型 名 引 用 變 量 = new 構(gòu) 造 器 (構(gòu) 造 器 的 參 數(shù) )Point origin_one 實 例 化 對 象new操 作 符 通 過 為 新 對 象 分 配 內(nèi) 存 來 實 例 化 一 個類new操 作 符 需 要 一 個 后 綴 參 數(shù) , 即 構(gòu) 造 器 的 一 個調(diào) 用new操 作

37、 符 返 回 一 個 對 它 所 創(chuàng) 建 對 象 的 引 用 , 通常 該 引 用 被 賦 值 給 具 有 適 當 類 型 的 引 用 變 量 如 果 new操 作 符 返 回 的 引 用 沒 有 被 賦 給 任 何 變 量 , 那 么 當 new操 作 符 所 在 的 語 句 執(zhí) 行 完 后 , 將 無 法 訪 問 該 對 象Java 基 礎 培 訓類 型 名 引 用 變 量 = new 構(gòu) 造 器 (構(gòu) 造 器 的 參 數(shù) ) 初 始 化 對 象構(gòu) 造 器 ( Constructor) : 是 一 個 用 來 創(chuàng) 建 對 象的 特 殊 方 法 , 用 來 初 始 化 對 象 的 屬 性 。

38、 構(gòu) 造 器 的 名 字 與 類 名 相 同 構(gòu) 造 器 沒 有 返 回 值 構(gòu) 造 器 所 包 含 的 語 句 用 來 對 所 創(chuàng) 建 的 對 象 進 行 初 始 化 沒 有 參 數(shù) 的 構(gòu) 造 器 稱 為 “ 無 參 構(gòu) 造 器 ” 每 個 Java類 都 至 少 有 一 個 構(gòu) 造 器 , 如 果 該 類 沒 有 顯 式地 聲 明 任 何 構(gòu) 造 器 , 系 統(tǒng) 會 默 認 地 為 該 類 提 供 一 個 不包 含 任 何 語 句 的 無 參 構(gòu) 造 器 Java 基 礎 培 訓 類 型 名 引 用 變 量 = new 構(gòu) 造 器 (構(gòu) 造 器 的 參 數(shù) ) 對 象 創(chuàng) 建 的 實 例

39、 Java 基 礎 培 訓 public class Point public int x = 0; public int y = 0; public Point(int x, int y) this.x = x; this.y = y; Point origin_one = new Point(23, 94); 問 題 Java 基 礎 培 訓 Point origin_one = new Point(23, 94); Point origin_two = new Point(23, 94); oringin_one=oringin_twoPoint origin_one = new Poi

40、nt(23, 94); Point origin_two =origin_two;oringin_one=oringin_two 構(gòu) 造 器 的 重 載 ( Overload)一 個 類 可 以 包 含 多 個構(gòu) 造 器 , 這 種 情 況 成為 構(gòu) 造 器 的 重 載同 一 個 類 中 的 多 個 構(gòu)造 器 通 過 參 數(shù) 的 數(shù) 目及 類 型 的 不 同 來 區(qū) 分 Java 基 礎 培 訓 public class Rectangle public int width = 0; public int height = 0; public Point origin; public Rect

41、angle() origin = new Point(0, 0); public Rectangle(Point p) origin = p; public Rectangle(int w, int h) this(new Point(0, 0), w, h); public Rectangle(Point p, int w, int h) origin = p; width = w; height = h; . 對 象 的 使 用對 象 的 使 用 有 兩 種 方 式 操 作 或 者 檢 查 它 的 變 量 調(diào) 用 它 的 方 法要 使 用 對 象 的 實 例 成 員 , 首 先 需 要 得

42、 到 該 對 象 的引 用 Java 基 礎 培 訓 變 量方 法 實 例 成 員 與 類 成 員實 例 成 員 包 括 實 例 變 量 與 實 例 方 法 實 例 成 員 依 賴 于 實 例 存 在 同 一 個 類 的 不 同 實 例 都 擁 有 一 份 實 例 變 量 的 拷 貝 , 對某 個 實 例 的 實 例 變 量 的 操 作 不 影 響 到 其 它 實 例 實 例 變 量 遵 循 對 象 的 生 命 周 期 , 隨 著 對 象 的 創(chuàng) 建 而 創(chuàng)建 , 隨 著 對 象 的 消 亡 而 消 亡 必 須 通 過 實 例 的 引 用 來 調(diào) 用 實 例 方 法類 成 員 包 括 類 變

43、量 與 類 方 法 類 成 員 不 依 賴 于 實 例 存 在 同 一 個 類 的 不 同 實 例 共 享 同 一 個 類 變 量 , 對 類 變 量 的改 變 會 影 響 到 所 有 實 例 類 變 量 的 生 存 期 不 依 賴 于 對 象 , 其 它 類 可 以 不 用 通 過創(chuàng) 建 該 類 的 實 例 , 直 接 通 過 類 名 訪 問 它 們 。 同 樣 , 類方 法 也 可 以 直 接 通 過 類 名 訪 問 。 Java 基 礎 培 訓 實 例 成 員 與 類 成 員 Java 基 礎 培 訓 class ABCD char data; static int share_data

44、;class Demo ABCD a,b,c,d; /實 例 化 實 例 變 量 的 引 用簡 單 名 稱 當 實 例 變 量 處 在 作 用 域 內(nèi) (即 對 象 的 類 的 代 碼 內(nèi) ) 的 時 候 限 定 名 稱 objectReference.variableName 當 實 例 變 量 處 在 作 用 域 外 時 使 用 限 定 名 稱 Java 基 礎 培 訓System.out.println(Width of rect_one: + rect_one.width);System.out.println(Height of rect_one: + rect_one.height

45、);int height=new Rectangle().height; 關 于 變 量 訪 問 的 說 明建 議 不 要 通 過 其 它 對 象 或 類 直 接 操 作 對 象 的 變 量 ,可 能 引 起 無 效 值理 想 情 況 下 ,類 會 提 供 一 些 方 法 ,其 他 對 象 可 以 通過 他 們 檢 查 或 修 改 變 量 , 確 保 值 有 效 , 而 且 如 果變 量 的 類 型 和 名 稱 發(fā) 生 了 變 化 , 不 會 影 響 它 的 使用 者在 某 些 情 況 下 , 可 以 允 許 對 對 象 變 量 的 直 接 訪 問 ,以 使 類 更 小 更 簡 單 , 也 可

46、 使 變 量 適 用 于 更 廣 泛 范圍 ;JAVA編 程 語 言 提 供 了 一 個 訪 問 控 制 機 制 , 通 過 這種 機 制 , 類 可 以 決 定 那 些 其 它 的 類 可 以 直 接 訪 問它 的 變 量 ( 第 五 章 中 介 紹 ) 。 Java 基 礎 培 訓 調(diào) 用 對 象 的 方 法使 用 限 定 名 稱 來 調(diào) 用 對 象 的 方 法 objectReference.methodName(argumentList); 或 者 objectReference.methodName(); Java 基 礎 培 訓System.out.println(Area of

47、rect_one: + rect_one.area();rect_two.move(40, 72);int areaOfRectangle = new Rectangle(100, 50).area(); 關 于 方 法 調(diào) 用方 法 被 聲 明 為 public, 就 可 以 被 任 何 其 它 的 類 所訪 問 。 有 時 , 類 需 要 限 制 對 它 的 方 法 的 訪 問類 可 以 使 用 與 控 制 變 量 訪 問 相 同 的 機 制 來 對 它 的方 法 進 行 訪 問 控 制 ( 第 五 章 中 介 紹 ) Java 基 礎 培 訓 對 象 的 清 除JAVA運 行 時 環(huán) 境

48、 在 當 對 象 不 再 被 使 用 的 時 候 清 除它 們 , 這 個 過 程 就 是 所 謂 的 “ 垃 圾 收 集 ”( garbage collection)Java的 垃 圾 收 集 器 自 動 掃 描 對 象 的 動 態(tài) 內(nèi) 存 區(qū) ,對 被 引 用 的 對 象 加 標 記 , 然 后 把 沒 有 引 用 的 對 象作 為 垃 圾 收 集 起 來 并 釋 放 。垃 圾 收 集 器 作 為 一 個 線 程 運 行 。 當 系 統(tǒng) 的 內(nèi) 存 用盡 或 程 序 中 調(diào) 用 System.gc()要 求 進 行 垃 圾 收 集時 , 垃 圾 收 集 線 程 與 系 統(tǒng) 同 步 運 行

49、。 否 則 垃 圾 收集 器 在 系 統(tǒng) 空 閑 時 異 步 地 執(zhí) 行 。 Java 基 礎 培 訓 無 用 對 象 的 判 定當 某 個 對 象 不 在 被 任 何 引 用 變 量 引 用 時 , 該 對 象是 無 用 對 象 , 將 被 清 除 。 一 般 有 如 下 兩 種 情 況 : Java 基 礎 培 訓 引 用 變 量 超 出 了 作 用 域 StringBuffer s = newStringBuffer(“thisisatest”); / 超 出 對 象 作 用 域引 用 變 量 引 用 了 其 它 對 象 或 引 用 了 空 對 象StringBuffer s = new

50、 StringBuffer(“test1”); s = new StringBuffer(“test2”); / 引 用 了 新 的 對 象 s = null; / 引 用 為 空 finalize()方 法在 對 對 象 進 行 垃 圾 收 集 前 , Java運 行 時 系 統(tǒng) 會 自動 調(diào) 用 對 象 的 finalize()方 法 來 釋 放 系 統(tǒng) 資 源 。某 些 情 況 下 , 程 序 員 可 能 需 要 實 現(xiàn) 該 方 法 來 釋 放不 由 垃 圾 收 集 器 所 控 制 的 資 源 。 但 這 種 情 況 非 常少 見finalize()方 法 是 在 Object中 有 缺

51、 省 實 現(xiàn) , 在 用戶 自 定 義 的 類 中 , 它 可 以 被 覆 蓋 , 但 一 般 在 最 后要 調(diào) 用 父 類 的 finalize()方 法 來 清 除 對 象 所 使 用的 所 有 資 源 Java 基 礎 培 訓 問 題 一下 列 程 序 的 運 行 結(jié) 果 ? Java 基 礎 培 訓 public class SomethingIsWrong public static void main(String args) Rectangle myRect; myRect.width = 40; myRect.height = 50; System.out.println(my

52、Rects area is + myRect.area(); 問 題 二現(xiàn) 有 一 個 Point和 Rectangle對 象 , 代 碼 執(zhí) 行 后 有多 少 引 用 指 向 它 們 ? 有 沒 有 對 象 需 要 垃 圾 收 集 ? Java 基 礎 培 訓 Point point = new Point(2,4);Rectangle rectangle = new Rectangle(point, 20, 20);point = null; 字 符 和 字 符 串 Java API提 供 了 三 個 處 理 字 符 數(shù) 據(jù) 的 類 : Character: 這 個 類 的 實 例 可 以

53、 容 納 單 一 的 字 符 數(shù) 值 。該 類 還 定 義 了 一 些 簡 潔 的 方 法 來 操 作 或 者 檢 查 單 一字 符 數(shù) 據(jù) 。 String: 這 個 類 用 于 處 理 由 多 個 字 符 組 成 的 不 可 變數(shù) 據(jù) 。 StringBuffer: 這 個 類 用 于 存 儲 和 操 作 由 多 個 字 符組 成 的 可 變 數(shù) 據(jù) 。 Java 基 礎 培 訓 字 符 類 ( Character)字 符 類 的 對 象 包 含 單 個 字 符 值當 需 要 使 用 對 象 時 , 可 以 用 字 符 對 象 替 代 原 始 的char類 型 的 變 量 Java 基 礎

54、 培 訓 字 符 類 構(gòu) 造 器 和 方 法Character(char) Character類 唯 一 的 構(gòu) 造 器 ,它 創(chuàng) 建 一 個 字 符 對 象 , 其 中 包 含 由 參 數(shù) 提 供 的 值 ,一 旦 創(chuàng) 建 了 Character對 象 , 它 包 含 的 值 就 不 能改 變 。compareTo(Character) 這 個 實 例 方 法 比 較 兩 個字 符 對 象 包 含 的 值 , 這 個 方 法 返 回 一 個 整 數(shù) 值 ,表 示 當 前 對 象 中 的 值 是 大 于 、 等 于 還 是 小 于 參 數(shù)所 包 含 的 值 Java 基 礎 培 訓 字 符 類

55、 構(gòu) 造 器 和 方 法equals(Object) 這 個 實 例 方 法 比 較 當 前 對 象 包含 的 值 與 參 數(shù) 對 象 包 含 的 值 , 如 果 兩 個 對 象 包 含的 值 相 等 , 那 么 這 個 方 法 返 回 truetoString() 這 個 實 例 方 法 將 此 對 象 轉(zhuǎn) 換 為 字 符串charValue() 這 個 實 例 方 法 以 原 始 char值 的 形式 返 回 此 字 符 對 象 包 含 的 值isUpperCase() 這 個 實 例 方 法 判 斷 一 個 原 始char值 是 否 是 大 寫 字 母 Java 基 礎 培 訓 字 符

56、類 例 程 Java 基 礎 培 訓 public class CharacterDemo public static void main(String args) Character a = new Character(a); Character a2 = new Character(a); Character b = new Character(b); int difference = pareTo(b); if (difference = 0) System.out.println(a is equal to b.); else if (difference 0) System.out.

57、println(a is greater than b.); System.out.println(a is + (a.equals(a2) ? equal : not equal)+ to a2.); System.out.println(The character + a.toString() + is + (Character.isUpperCase(a.charValue() ? upper : lower)+ case.); 程 序 的 輸 出 :a is less than b.a is equal to a2.The character a is lowercase. 字 符 類

58、 類 方 法 Java 基 礎 培 訓 問 題 Java 基 礎 培 訓 Character a = new Character(a);Character b = new Character(a); 下 列 boolean表 達 式 的 值 是 true還 是 false?( 1) pareTo(b)=0( 2) a.equals(b)( 3) a=b 字 符 串 和 字 符 串 緩 沖 區(qū)Java平 臺 提 供 兩 個 類 String和 StringBuffer, 它們 用 于 存 儲 和 操 作 字 符 串 由 多 個 字 符 組 成 的 字符 數(shù) 據(jù) 。String類 用 于 其 值

59、不 能 改 變 的 字 符 串 ;StringBuffer類 用 于 被 修 改 的 字 符 串 , 通 常 用 來動 態(tài) 的 構(gòu) 造 字 符 數(shù) 據(jù) 。字 符 串 是 常 量 , 比 字 符 串 緩 沖 區(qū) 更 高 效 , 而 且 字符 串 可 以 被 共 享 。 Java 基 礎 培 訓 字 符 串 ( String)使 用 字 符 串 常 量 時 , 需 要 創(chuàng) 建 String對 象 , 和 其它 對 象 不 同 , String對 象 可 以 通 過 簡 單 賦 值 語 句創(chuàng) 建 : String name = “ Petter” ;此 外 , 也 可 根 據(jù) String類 的 構(gòu)

60、 造 函 數(shù) 創(chuàng) 建 String對 象 : String name = new String(“ Petter” );對 于 程 序 任 何 位 置 出 現(xiàn) 的 雙 引 號 標 記 的 字 符 串 ,系 統(tǒng) 都 會 自 動 創(chuàng) 建 一 個 String對 象 ???通 過 String對 象 的 方 法 對 字 符 串 進 行 操 作 Java 基 礎 培 訓 字 符 串 構(gòu) 造 器 Java 基 礎 培 訓 字 符 串 的 不 可 變 性 ?String類 用 于 其 值 不 能 改 變 的 字 符 串觀 察 下 列 程 序 : Java 基 礎 培 訓 public class Stri

61、ngTest public static void main(String args) String s=abc; s=s+“defg; System.out.println(s); 程 序 運 行 結(jié) 果 是 abc還 是 abcdefg? 字 符 串 的 不 可 變 性 ? Java 基 礎 培 訓 abcs defg“defg”s+”defg”abcdefgs=s+”defg” 字 符 串 緩 沖 區(qū) ( StringBuffer)String對 象 表 示 的 是 不 可 更 改 的 字 符 串 對 象 , 如果 需 要 修 改 String對 象 所 表 示 的 內(nèi) 容 , 必 須

62、重 新創(chuàng) 建 一 個 對 象 : String str = “ Petter” ; str = str + “ 當 修 改 操 作 頻 繁 , 或 字 符 串 的 值 很 大 時 , 會 額 外分 配 大 量 內(nèi) 存因 此 , Java語 言 引 入 了 一 個 StringBuffer類 , 用來 表 示 內(nèi) 容 可 以 擴 充 和 修 改 字 符 串 對 象 Java 基 礎 培 訓 StringBuffer 構(gòu) 造 器必 須 使 用 new操 作 符 創(chuàng) 建 字 符 串 緩 沖 區(qū) Java 基 礎 培 訓String s = Dot saw I was Tod;StringBuffer

63、 dest = new StringBuffer(s); 訪 問 器 方 法用 于 獲 取 關 于 對 象 的 信 息 的 方 法 被 稱 為 訪 問 器 方法 。字 符 串 和 字 符 串 緩 沖 區(qū) 都 可 以 使 用 的 一 個 訪 問 器方 法 就 是 length方 法 。length方 法 返 回 字 符 串 和 字 符 串 緩 沖 區(qū) 中 包 含 的字 符 數(shù) 。 Java 基 礎 培 訓String palindrome = Dot saw I was Tod; int len = palindrome.length(); 容 量在 StringBuffer類 中 還 有 一

64、個 capacity()方 法 ,它 返 回 分 配 給 這 個 字 符 串 緩 沖 區(qū) 的 容 量 , 而 不 是使 用 量 。 使 用 量 會 改 變 , 但 是 容 量 始 終 是 不 變 的 。 Java 基 礎 培 訓 通 過 索 引 得 到 字 符charAt()訪 問 器 方 法 , 通 過 索 引 從 字 符 串 或 者 字符 串 緩 沖 區(qū) 得 到 字 符 , 索 引 值 從 零 開 始 。 Java 基 礎 培 訓 String anotherPalindrome = Niagara. O roar again!; char aChar = anotherPalindrom

65、e.charAt(9); substring方 法如 果 要 從 字 符 串 或 者 字 符 串 緩 沖 區(qū) 得 到 多 個 字 符 ,可 以 使 用 substring方 法 。String substring(int) String substring(int,int) Java 基 礎 培 訓 String anotherPalindrome = Niagara. O roar again!; String roar = anotherPalindrome.substring(11, 15); searchstring類 提 供 兩 個 訪 問 器 方 法 , 返 回 特 定 的 字 符

66、或 者 子 字 符 串 在 字 符 串 中 的 位 置 。indexOf()方 法 從 字 符 串 的 開 頭 查 找 ;lastindexOf()方 法 從 字 符 串 的 末 尾 查 找 ;stringBuffer類 不 支 持 indexOf()和lastindexOf()方 法 。 Java 基 礎 培 訓 search Java 基 礎 培 訓 search example public class Filename private String fullPath; private char pathSeparator, extensionSeparator; public Filename(String str, char sep, char ext) fullPath = str; pathSeparator = sep; extensionSeparator = ext; public String extension() int dot = fullPath.lastIndexOf(extensionSeparator); return fullPath.substr

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!