第三章Java程序設(shè)計(jì)基礎(chǔ)(4)

字號(hào):

成 員 函 數(shù) 成 員 函 數(shù) 是 一 ?copy; 可 被 其 它 類(lèi) 或 自 己 類(lèi) 調(diào)用 的 處 理 子 程 序。 一 個(gè) 特 殊 的 成 員 函 數(shù) 叫 構(gòu) 造 函 數(shù), 這 個(gè)函 數(shù) 名 稱(chēng) 一 般 與 本 類(lèi) 名 程 相 同。 它 沒(méi) 有 返 回 值。
    構(gòu) 造 函 數(shù) 和 成 員 函 數(shù) 當(dāng) 你 在Java里 定 義 一 個(gè) 類(lèi) 時(shí),你 可 定義 一 個(gè) 或 多 個(gè) 可 選 的 構(gòu) 造 函 數(shù),當(dāng) 創(chuàng) 建 本 類(lèi) 的 一 個(gè) 對(duì) 象 時(shí)用 某 一 個(gè) 構(gòu) 造 函 數(shù) 來(lái) 初 始 化 本 對(duì) 象。 用 前 面 的 程 序 例 子來(lái) 說(shuō) 明,當(dāng)ClassOne類(lèi) 創(chuàng) 建 一 個(gè) 新 實(shí) 例 時(shí), 所 有 成 員 函 數(shù) 和 變量 被 創(chuàng) 建(創(chuàng) 建 實(shí) 例)。 構(gòu) 造 函 數(shù) 被 調(diào) 用。 ClassOne mc: mc = new ClassOne();
    關(guān) 鍵 詞new用 來(lái) 創(chuàng) 建 一 個(gè) 類(lèi) 的 實(shí) 例,一 個(gè) 類(lèi) 用new初 始 化 ?reg; 前 并 不 占 用 內(nèi) 存,它 只 是 一 個(gè) 類(lèi) 型 定 義, 當(dāng)mc對(duì) 象 初 始 化 后,mc對(duì)象 里 的i變 量 等 于10。 你 可 以 通 過(guò) 對(duì) 象 名 來(lái) 引 用 變 量i。(有 時(shí)稱(chēng) ?reg; 為 實(shí) 例 變 量) mc.i++;//mc實(shí) 例 變 量 加1 因 為mc有ClassOne類(lèi)的 所 有 變 量 和 成 員 函 數(shù), 我 們 可 以 使 用 同 樣 的 語(yǔ) 法 來(lái) 調(diào)用 成 員 函 數(shù) Add_i: Add_i(10); 現(xiàn) 在mc.i變 量 等 于21.
    結(jié) 束 函 數(shù) Java并 不 支 持 析 構(gòu) 函 數(shù)(C++里 的 定 義),因 為java本身 提 ?copy; 對(duì) 象 無(wú) 用 時(shí) 自 動(dòng) 清 除 的 功 能,同 時(shí) 它 也 提 ?copy; 了 一 個(gè) 自 動(dòng) 拉 圾 箱 的 成 員 函 數(shù), 在 清 除 對(duì) 象 時(shí) 被 調(diào) 用: Protected void finalize() { close(); }
    3.3 對(duì) 象 有 效 范 圍 和 廢 物 自 動(dòng) 回 收
    對(duì) 象 有 一 定 的 生 命 期 并 在 它 的 生 命 期 間 使 用 資 源,當(dāng) 一個(gè) 對(duì) 象 不 再 被 使 用 時(shí),它 應(yīng) 釋 放 內(nèi) 存, 避 免 內(nèi) 存 溢 出。 在Java里,收集 和 釋 放 內(nèi) 存 是 一 個(gè) 叫 自 動(dòng) 廢 品 回 收 站 的 線(xiàn) 程 的 責(zé) 任。這 個(gè) 線(xiàn) 程 監(jiān) 視 對(duì) 象 有 效 范 圍 并 給 一 個(gè) 走 出 有 效 范 圍 的 對(duì)象 作 上 標(biāo) 識(shí)。
    例 如: String s;//沒(méi) 有 分 配 內(nèi) 存 s = new String("oldstring");//分配 內(nèi) 存 s ="newstring";//重 新 分 配 內(nèi) 存(創(chuàng) 建 新 對(duì) 象)
    我 們 將 在 以 后 訪(fǎng) 問(wèn)String類(lèi) 時(shí) 將 更 加 明 白 它 的 工 作 過(guò) 程,但它 的 快 速 工 作 過(guò) 程 是 這 樣 的: 1.創(chuàng) 建 一 個(gè) 新 的String類(lèi) 對(duì) 象并 填 充 以"oldstring" 2.創(chuàng) 建 另 一 個(gè)String對(duì) 象 并 填 充以"newstring" 注 意 我 們 創(chuàng) 建 了 兩 個(gè) 對(duì) 象。 Stirng 對(duì) 象 "oldstring" Stirng 對(duì) 象 "newstring"
    在 第 三 條 語(yǔ) 句 里,第 一 個(gè) 包 括"oldstring"的 叫 做s的對(duì) 象 已 走 出 了 有 效 范 圍,沒(méi) 有 任 何 ?法 可 以 再 訪(fǎng) 問(wèn) 他,我 們現(xiàn) 在 有 一 個(gè) 新 的 對(duì) 象 也 叫s,包 含"newstring"。 在 下 一個(gè) 廢 品 回 收 線(xiàn) 程,前 一 個(gè) 對(duì) 象 將 被 標(biāo) 識(shí) 并 清 除。