1 前 言 4 1.1 关 于 BlueJ 4 1.2 本 书 范 围 及 读 者.4 1.3 版 权, 使 用 许 可 以 及 重 新 发 布 4 1.4 反 馈.4 2 开 始 5 2.1 安 装.5 2.2 启 动 BlueJ.5 2.3 打 开 一 个 工 程.6 3 基 础 知 识 - 编



Similar documents
I

《C语言基础入门》课程教学大纲

修改版-操作手册.doc

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

登录、注册功能的测试用例设计.doc

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

世华财讯模拟操作手册

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

第2章 数据类型、常量与变量

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

Microsoft Word - 第3章.doc

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

教师上报成绩流程图

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学


4 进 入 交 互 区 设 置 的 组 件 管 理, 在 组 件 管 理 中, 教 师 可 以 选 择 课 程 空 间 中 的 所 有 组 件, 并 通 过 点 击 启 用 或 不 启 用 选 定 组 件 在 课 程 空 间 中 的 显 示 5 进 入 工 作 室 管 理 的 工 作 室 首 页,

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

全国教师资格认定管理信息系统

Microsoft Word - 第7章 图表反转形态.doc

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

深圳市新亚电子制程股份有限公司

云信Linux SSH认证代理用户手册

珠江钢琴股东大会

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

第 一 部 分 MagiCAD for Revit 安 装 流 程

电信系教学大纲的基本规范

Template BR_Rec_2005.dot


<443A5C6D B5C30312EB9A4D7F7CEC4B5B55C30322EBACFCDACCEC4B5B55C C30342EC8CBC9E7CCFC5C31332ECFEEC4BFC5E0D1B55C E30385C322EB2D9D7F7CAD6B2E12E646F63>

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

超 级 玛 丽 JAVA 小 游 戏 测 试 报 告 1. 导 言 1.1 编 写 目 的 该 文 档 的 目 的 是 描 述 超 级 玛 丽 JAVA 小 游 戏 的 系 统 测 试 的 总 结 报 告, 其 主 要 内 容 包 括 : 系 统 环 境 的 介 绍 功 能 的 实 现 的 测 试

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

3 复 试 如 何 准 备 4 复 试 成 绩 计 算 5 复 试 比 例 6 复 试 类 型 7 怎 么 样 面 对 各 种 复 试 04 05

学位论文文档编辑与提交

自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

微软用户

徐天宏:《基因天堂》.doc

上海证券交易所会议纪要

全国艺术科学规划项目

目 录 一 激 活 账 号... 2 二 忘 记 密 码 后 如 何 找 回 密 码?... 3 三 如 何 管 理 学 校 信 息 及 球 队 学 生 教 师 等 信 息... 6 四 如 何 发 布 本 校 校 园 文 化? 五 如 何 向 教 师 发 送 通 知? 六

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使

 编号:

Microsoft Word - 文件汇编.doc

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录 企 业 基 本 信 息 查 看 企 业 人 员 信 息 查 看 企 业 基 本 信 息 操 作 企 业 简 介 企 业 章

<4D F736F F D C3E6CFF2B6D4CFF3A3A8B5DAC8FDD5C220C0E0CCD8D0D4A3A92E646F63>

类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

目 录 办 公 OA 介 绍... 3 办 公 OA... 4 一. 收 件 箱 发 布 信 件 查 看 个 人 信 件... 7 二. 公 共 留 言 发 布 公 共 留 言 查 看 公 共 留 言... 9 三. 校 长 荐


中 国 软 科 学 年 第 期!!!

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

一、资质申请

目 录 页 1. 欢 迎 使 用 网 上 预 约 面 谈 访 问 系 统 新 用 户 新 用 户 登 入 帐 户 程 序 启 动 网 上 预 约 面 谈 访 问 帐 户 核 对 帐 户 的 地 址 资 料

øÕªß∂À≤Ÿ◊˜ ÷≤·

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍 系 统 管 理 员 登 陆 班

ETF、分级基金规模、份额变化统计

标题

系统设计文档_样稿管理模块 V1.1_.doc

untitled

引言

Excel basics

操作手册

定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

国债回购交易业务指引

用节点法和网孔法进行电路分析

目 录 1. 考 生 电 脑 安 装 配 置 考 生 电 脑 系 统 需 求 初 次 使 用 故 障 修 复 试 卷 结 构 与 分 值 在 线 考 试 登 录 考 前 倒

2006年顺德区高中阶段学校招生录取分数线

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

目 录 版 本 更 新 说 明 导 读 读 者 对 象 手 册 内 容 简 介 软 件 简 介 基 本 术 语 技 术 支 持 基 本 流 程 操 作 步 骤... 8

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

Cybozu Garoon 3 管理员手册

目 录 第 一 章 行 政 办 公 介 绍 行 政 办 公 的 作 用... 4 第 二 章 行 政 办 公 使 用 说 明 会 议 管 理 会 议 管 理 概 述 如 何 设 置 会 议 室 如

火车浏览器脚本制作教程

四川省农村义务教育学生

(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc)

2016年南开大学MBA招生信息

第1篇 道路桥梁工程技术核心专业课程标准及学习绩效考评体系

一 六 年 级 下 册 教 科 书 总 体 说 明 ( 一 ) 教 学 内 容 本 册 教 科 书 一 共 安 排 了 5 个 教 学 单 元, 其 中 前 4 个 单 元 为 新 知 识, 第 五 单 元 是 对 整 个 小 学 阶 段 所 学 数 学 知 识 系 统 的 整 理 和 复 习

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

证券代码: 证券简称:长城电脑 公告编号:

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

证监会行政审批事项目录

第二讲 数列

生产支援功能 使用说明书(IP-110 篇)

!!!!!!!!!!

<433A5C C6B73625C B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A CDA8D3C3B0E6A3A92E646F63>

第 9 章 如 果 打 印 机 通 过 FireWire 连 接, 则 HP 建 议 使 用 FireWire 模 块 添 加 打 印 机, 以 充 分 利 用 FireWire 打 印 的 各 项 功 能, 并 且 仅 使 用 IP over Firewire 访 问 打 印 机 的 内 嵌 式

moza_ctc_64021.pdf

合 并 计 算 配 售 对 象 持 有 多 个 证 券 账 户 的, 多 个 证 券 账 户 市 值 合 并 计 算 确 认 多 个 证 券 账 户 为 同 一 配 售 对 象 持 有 的 原 则 为 证 券 账 户 注 册 资 料 中 的 账 户 持 有 人 名 称 有 效 身 份 证 明 文 件


一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

Transcription:

BlueJ 教 程 版 本 1.2 针 对 BlueJ 版 本 1.1.x Michael Kölling 澳 洲 Monash 大 学 网 络 计 算 学 院 清 华 大 学 计 算 机 系 知 识 工 程 组 郝 建 文 顾 志 峰 翻 译 - 1 -

1 前 言 4 1.1 关 于 BlueJ 4 1.2 本 书 范 围 及 读 者.4 1.3 版 权, 使 用 许 可 以 及 重 新 发 布 4 1.4 反 馈.4 2 开 始 5 2.1 安 装.5 2.2 启 动 BlueJ.5 2.3 打 开 一 个 工 程.6 3 基 础 知 识 - 编 辑 \ 编 译 \ 执 行 7 3.1 创 建 对 象..7 3.2 执 行..9 3.3 编 辑 一 个 类..11 3.4 编 译..11 3.5 使 用 编 译 器 错 误 帮 助..12 4 进 一 步 13 4.1 观 察 对 象..13 4.2 组 装..16 5 创 建 一 个 新 工 程 17 5.1 创 建 工 程 目 录..17 5.2 创 建 类..18 5.3 创 建 依 赖 关 系..18 5.4 删 除 元 素..18 6 调 试 20 6.1 设 置 断 点..20 6.2 单 步 执 行..21 6.3 查 看 变 量..22 6.4 停 止 调 试..22 7 创 建 独 立 的 应 用 程 序 22 8 创 建 Applet 23-2 -

8.1 运 行 一 个 Applet.24 8.2 创 建 一 个 Applet.24 8.3 测 试 一 个 Applet.24 9 其 他 的 操 作 25 9.1 在 bluej 中 打 开 非 BlueJ 的 软 件 包...26 9.2 在 工 程 中 加 入 已 有 的 类 文 件.26 9.3 调 用 main 函 数 和 其 他 静 态 成 员 方 法...26 9.4 使 用 类 库.26 10 总 结 27-3 -

1 前 言 1.1 关 于 BlueJ 这 份 教 程 介 绍 了 如 何 使 用 BlueJ 这 个 编 程 环 境 BlueJ 是 一 个 专 门 为 入 门 级 教 学 设 计 的 Java TM 开 发 环 境 它 是 由 澳 大 利 亚 墨 尔 本 Monash 大 学 BlueJ 小 组 设 计 并 开 发 的 需 要 更 多 信 息 请 访 问 :http://bluej.monash.edu/ 1.2 本 书 范 围 及 读 者 这 份 教 程 主 要 针 对 那 些 想 让 自 己 熟 悉 如 何 使 用 这 个 开 发 环 境 的 读 者 而 不 会 讨 论 这 个 环 境 设 计 过 程 中 的 结 构 组 织 和 那 些 值 得 研 究 的 问 题 这 份 教 程 不 打 算 介 绍 如 何 使 用 Java, 因 此 读 者 应 该 已 经 对 Java 比 较 熟 悉 这 份 教 程 不 是 一 份 全 面 的 环 境 参 考 手 册 许 多 细 节 问 题 没 有 涉 及 到 -- 通 过 简 单 准 确 的 介 绍 突 出 重 点, 而 不 是 对 各 个 专 题 全 面 的 讨 论 大 多 数 小 结 有 一 个 一 行 左 右 的 本 节 小 结 作 为 结 尾 第 0 小 结 只 是 重 复 了 一 遍 这 些 小 结, 作 为 一 个 快 速 的 参 考 1.3 版 权, 使 用 许 可 以 及 重 新 发 布 BlueJ 系 统 以 及 这 份 教 程 对 任 何 人 任 何 用 途 都 是 免 费 的 这 个 系 统 以 及 它 的 文 档 可 以 被 重 新 发 布 而 不 需 要 任 何 费 用 没 有 经 过 本 系 统 作 者 的 授 权, 任 何 人 不 能 销 售 BlueJ 系 统 或 者 包 含 该 系 统 的 软 件 包 并 从 中 获 利 BlueJ 版 权 所 有 M. Kölling, J. Rosenberg 1.4 反 馈 我 们 欢 迎 鼓 励 任 何 形 式 的 对 BlueJ 和 这 份 教 程 的 反 馈 意 见, 包 括 声 明, 问 题, 更 正, 批 评 等 请 发 信 给 Michael Kölling (mik@monash.edu.au) - 4 -

2 开 始 2.1 安 装 BlueJ 是 作 为 一 些 Java 的 class 文 件 以 jar 文 件 格 式 发 布 的 安 装 十 分 简 单 安 装 前 的 准 备 你 必 须 在 你 的 系 统 上 安 装 了 JDK1.2.2 或 更 高 的 版 本 一 些 函 数 在 JDK1.3 下 工 作 会 更 好 一 些, 所 以 推 荐 安 装 或 升 级 到 最 新 的 JDK 版 本 如 果 你 还 没 有 安 装 JDK, 你 可 以 从 sun 的 网 站 下 载 :http://java.sun.com/j2se. 得 到 BlueJ BlueJ 的 发 布 文 件 通 常 叫 做 bluej-xxx.jar, 其 中 xxx 是 版 本 号 比 如,BlueJ 版 本 1.1.1 的 发 布 文 件 名 是 bluej-111.jar, 你 可 以 从 光 盘 上 拷 贝 该 文 件, 或 者 从 BuleJ 的 网 站 下 载 : http://bluej.monash.edu/. 关 于 SDK,JDK 和 JRE 有 的 时 候 存 在 一 些 混 淆 在 Java 的 各 个 不 同 发 布 版 本 之 间 :SDK,JDK,JRE 你 应 该 安 装 的 是 最 新 版 的 Java 2 SDK( 软 件 开 发 包 ) JDK 和 SDK 是 一 样 的, 只 是 JDK 是 一 个 旧 的 名 字 Sun 公 司 已 经 改 变 了 他 们 的 命 名 规 则 在 某 些 场 合, 但 是 有 的 时 候 旧 的 名 字 还 在 使 用, 比 如 安 装 了 Java 2 SDK 版 本 1.3, 那 么 缺 省 的 安 装 目 录 是 jdk1.3 JRE(Java 运 行 环 境 ) 却 有 所 不 同, 它 是 能 运 行 Java 程 序 的 SDK 的 一 个 子 集, 对 BlueJ 而 言,JRE 是 不 够 的 我 们 需 要 SDK 是 因 为 SDK 包 含 了 一 些 BlueJ 要 使 用 的 开 发 工 具 JRE 在 SDK 安 装 的 时 候 是 会 自 动 安 装 的 安 装 Windows: 双 击 安 装 文 件 (bluej-xxx.jar) 如 果 你 的 系 统 没 有 配 置 执 行 jar 文 件, 那 么 双 击 可 能 会 不 起 作 用 在 这 种 情 况 下, 请 打 开 一 个 DOS 窗 口 并 参 考 下 面 的 UNIX 安 装 方 法 Unix: 使 用 下 面 的 命 令 运 行 安 装 程 序 注 意 : 在 这 个 例 子 中, 我 使 用 发 布 文 件 bluej-111.jar- 你 应 该 使 用 你 得 到 的 文 件 的 名 字 ( 使 用 正 确 的 版 本 号 ) <jdk-path>/bin/java jar bluej-111.jar <jdk-path> 是 JDK 安 装 的 目 录 接 着 会 出 现 一 个 窗 口, 让 你 选 择 Blue 的 安 装 目 录 和 JDK 的 版 本 用 来 运 行 BlueJ 注 意 : BlueJ 的 安 装 路 径 ( 任 何 一 个 父 目 录 ) 中 不 能 有 任 何 空 格 ( 比 如 : Program files )! 单 击 Install, 完 成 之 后,BlueJ 就 装 完 了 如 果 你 有 任 何 问 题, 请 访 问 BlueJ 网 站 上 的 FAQ 2.2 启 动 BlueJ BlueJ 的 安 装 程 序 会 在 安 装 目 录 里 安 装 一 个 名 叫 BlueJ 的 脚 本 在 图 形 界 面 里, 只 要 双 - 5 -

击 那 个 文 件 便 可 启 动 BlueJ 在 命 令 行 界 面 ( 比 如 :Unix 或 者 Dos), 你 可 以 带 参 数 或 不 带 参 数 启 动 BlueJ: $ bluej 或 者 $ bluej example/people 2.3 打 开 一 个 工 程 BlueJ 的 工 程 和 标 准 的 Java 包 一 样, 是 一 个 包 含 工 程 文 件 的 目 录 如 果 你 是 从 命 令 行 启 动 的 BlueJ, 并 且 启 动 时 你 给 出 了 一 个 工 程 目 录 作 为 参 数, 那 么 工 程 会 自 动 被 打 开 如 果 启 动 时 没 有 加 参 数, 那 么 可 以 使 用 工 程 - 打 开 菜 单 来 选 择 并 打 开 一 个 工 程 - 6 -

3 基 础 知 识 - 编 辑 \ 编 译 \ 执 行 为 了 学 习 在 这 一 节, 打 开 Blue 的 发 布 版 本 中 的 工 程 people 你 能 够 在 BlueJ 安 装 目 录 下 的 example 目 录 下 找 到 这 个 工 程 打 开 工 程 后 你 因 该 可 以 看 到 和 图 1 相 似 的 窗 口, 这 个 窗 口 可 能 看 上 去 和 图 1 不 完 全 一 样 在 你 的 系 统 上, 但 区 别 应 该 很 小 图 1:BlueJ 主 窗 口 3.1 创 建 对 象 BlueJ 的 一 个 很 基 本 的 特 点 是 你 不 仅 仅 能 够 执 行 一 个 完 整 的 应 用 程 序, 而 且 能 直 接 和 任 何 类 的 对 象 交 互 并 执 行 其 中 的 公 共 (public) 方 法 在 BlueJ 中 一 个 执 行 过 程 通 常 通 过 创 建 一 个 对 象, 然 后 调 用 其 中 的 方 法 来 完 成 这 种 模 式 在 开 发 一 个 应 用 软 件 的 过 程 中 是 十 分 有 帮 助 的 - 你 可 以 单 独 测 试 每 个 类 一 旦 它 被 写 完 这 样 就 没 有 必 要 一 开 始 就 把 整 个 应 用 程 序 写 完 旁 注 : 静 态 方 法 能 够 被 直 接 调 用 而 不 需 要 先 创 建 一 个 类 main() 是 一 个 静 态 方 法, 因 此 我 们 可 以 做 和 通 常 在 一 个 Java 应 用 程 序 中 发 生 事 件 的 相 同 的 事 情 - 通 过 执 行 静 态 方 法 main() 启 动 一 个 应 用 程 序 我 们 会 在 后 面 继 续 讨 论 现 在, 我 们 来 做 一 些 其 他 有 趣 的 不 能 在 一 般 的 Java 环 境 中 做 到 的 事 情 - 7 -

你 看 到 的 主 窗 口 中 间 的 方 块 ( 标 注 了 数 据 库, 人, 教 员 和 学 生 ) 是 代 表 了 在 这 个 应 用 程 序 中 用 到 的 类 的 图 标 右 键 单 击 类 的 图 标, 你 会 得 到 一 个 包 含 能 够 应 用 到 该 类 的 操 作 的 一 个 菜 单 ( 图 2) 图 中 显 示 的 操 作 由 new 操 作 符 和 类 中 定 义 的 各 个 构 造 函 数 的 组 合, 以 及 BlueJ 环 境 提 供 的 一 些 操 作 组 成 图 2: 类 操 作 ( 弹 出 菜 单 ) 我 们 希 望 创 建 一 个 教 员 对 象, 所 以 你 应 该 右 键 单 击 教 员 图 标 ( 会 弹 出 图 2 中 显 示 的 菜 单 ) 这 个 菜 单 显 示 了 两 个 构 造 函 数 可 以 用 来 构 造 教 员 类 一 个 有 参 数 一 个 没 有 首 先, 选 择 没 有 参 数 的 构 造 函 数 弹 出 的 对 话 框 应 该 如 图 3 所 示. - 8 -

图 3: 创 建 没 有 参 数 的 对 象 这 个 对 话 框 要 求 你 输 入 一 个 被 创 建 对 象 的 名 字 同 时 提 供 了 一 个 缺 省 的 名 字 (staff_1) 这 个 缺 省 的 名 字 对 我 们 来 说 足 够 好 了 所 以 马 上 点 击 OK 一 个 教 员 对 象 就 会 被 创 建 一 旦 一 个 对 象 被 创 建, 它 会 被 放 在 窗 口 底 部 的 对 象 槽 里 ( 图 4) 图 4: 一 个 对 象 在 对 象 槽 里 你 可 能 已 经 注 意 到 Person 类 被 标 注 为 <<abstract>>( 它 是 一 个 抽 象 类 ) 你 会 发 现 ( 如 果 你 试 一 试 ) 你 不 能 创 建 抽 象 类 的 对 象 ( 就 跟 Java 语 言 定 义 的 规 则 一 样 ) 小 结 : 要 创 建 一 个 对 象, 从 类 菜 单 中 选 择 一 个 构 造 函 数 3.2 执 行 现 在 你 已 经 创 建 了 一 个 对 象, 你 可 以 执 行 它 的 公 共 (public) 方 法 用 右 键 单 击 对 象 图 标, 就 会 弹 出 一 个 包 含 对 象 操 作 的 菜 单 ( 图 5) 这 个 菜 单 显 示 了 该 对 象 所 有 可 执 行 的 方 法 和 两 个 BlueJ 环 境 提 供 的 操 作 ( 查 看 对 象 和 删 除 对 象 ) 我 们 会 在 后 面 讨 论 这 些 功 能 首 先, 让 我 们 集 中 精 力 在 方 法 上 - 9 -

图 5: 对 象 菜 单 你 可 以 看 到 菜 单 里 有 两 个 方 法 getroom 和 setroom, 分 别 设 置 和 返 回 这 个 教 员 的 房 间 号 试 着 调 用 getroom 只 要 简 单 的 从 菜 单 里 选 择 它, 它 就 会 被 执 行 一 个 对 话 框 会 出 现 向 你 显 示 调 用 的 结 果 ( 图 6) 在 上 面 的 情 况 下, 结 果 是 (unknown room), 因 为 我 们 还 没 有 为 这 个 人 指 定 房 间 号 图 6: 显 示 一 个 调 用 函 数 的 结 果 从 父 类 继 承 而 来 的 方 法 在 一 个 子 菜 单 中 在 对 象 弹 出 菜 单 的 顶 部 有 两 个 子 菜 单 一 个 包 含 从 Object 继 承 而 来 的 方 法, 另 一 个 包 含 从 Person 继 承 而 来 的 方 法 ( 图 5) 你 可 以 调 用 的 Person 的 方 法 ( 比 如 :getname), 通 过 选 择 子 菜 单 中 的 函 数 名 试 一 下 你 会 发 现 结 果 同 样 的 奇 怪 : 它 返 回 (unknown name), 因 为 我 们 还 没 有 给 这 个 人 取 一 个 名 字 现 在 让 我 试 着 来 指 定 一 个 房 间 号 这 个 操 作 演 示 了 如 何 调 用 有 参 数 的 方 法 ( 调 用 getroom 和 getname 有 返 回 值, 但 没 有 参 数 ) 通 过 选 择 菜 单 中 相 应 的 项 调 用 setroom 一 个 对 话 框 会 出 现 提 示 你 输 入 参 数 ( 图 7) - 10 -

图 7: 调 用 带 参 数 的 函 数 在 这 个 对 话 框 的 最 上 端 显 示 的 是 被 调 用 方 法 的 接 口 声 明 ( 包 括 注 释 和 定 义 ) 下 面 是 一 个 文 本 框, 你 可 以 在 里 面 输 入 参 数 上 面 的 定 义 告 诉 我 们 需 要 一 个 String 类 型 的 参 数 在 文 本 框 里 输 入 新 的 名 字 作 为 一 个 String( 包 括 引 号 ), 然 后 点 击 OK 这 样 就 结 束 了 - 因 为 这 个 方 法 没 有 返 回 值, 所 以 没 有 结 果 对 话 框 再 一 次 调 用 getname 来 检 查 名 字 是 否 真 的 改 变 了 对 对 象 的 创 建 和 方 法 调 用 练 习 一 段 时 间 然 后 试 着 调 用 有 参 数 的 构 造 函 数 和 更 多 的 方 法 直 到 你 对 这 些 操 作 熟 悉 为 止 小 结 : 要 执 行 一 个 方 法, 从 对 象 菜 单 中 选 择 它 3.3 编 辑 一 个 类 到 目 前 为 止, 我 们 只 涉 及 到 了 一 个 对 象 的 接 口 现 在 是 时 候 窥 探 一 下 对 象 内 部 了 你 能 够 看 到 一 个 类 的 实 现 通 过 在 类 菜 单 里 选 择 编 辑 类 实 现 ( 提 示 : 右 键 单 击 类 图 标 就 会 跳 出 类 菜 单 ) 双 击 类 图 标 可 以 实 现 同 样 的 功 能 这 份 教 材 对 BlueJ 的 编 辑 器 没 有 很 深 入 的 描 述, 但 是 它 的 使 用 应 该 来 说 是 很 简 单 的 关 于 编 辑 器 的 细 节 描 述 在 后 面 会 单 独 列 出 现 在, 打 开 Stuff 类 的 实 现 找 到 getroom 方 法 的 实 现 正 如 函 数 所 说 的 那 样, 它 会 返 回 该 教 员 的 房 间 号 让 我 们 改 变 这 个 方 法, 在 函 数 返 回 值 的 前 面 加 上 一 个 room 前 缀 ( 这 样 这 个 方 法 就 会 返 回, room G..4.24 而 不 是 G..4.24 ) 我 们 通 过 修 改 下 面 这 一 行 做 到 这 一 点 return room; 改 为 return room + room; BlueJ 完 全 支 持 Java, 所 以 没 有 什 么 特 殊 的 要 求 关 于 你 如 何 修 改 你 的 类 实 现 只 要 遵 循 Java 规 范 即 可 小 结 : 要 编 辑 类 的 源 码, 双 击 类 图 标 3.4 编 译 改 变 代 码 之 后 ( 在 你 做 任 何 其 他 事 情 之 前 ), 检 查 工 程 的 全 貌 ( 主 窗 口 ) 你 会 发 现 教 员 的 图 标 改 变 了 : 现 在 图 标 出 现 了 条 纹 条 纹 的 出 现 意 味 着 类 文 件 还 没 有 被 重 新 编 译 过, 自 从 上 次 修 改 以 来 返 回 编 辑 器 - 11 -

旁 注 : 你 可 能 正 在 怀 疑 为 什 么 那 些 类 图 标 没 有 条 纹 在 工 程 第 一 次 被 打 开 的 时 候 这 是 因 为 那 些 people 工 程 中 发 布 的 类 都 是 已 经 被 编 译 过 的 通 常 情 况 下 随 BlueJ 一 起 发 布 的 工 程 是 没 有 被 编 译 过 的 所 以 做 好 看 到 大 多 数 类 都 有 条 纹 的 准 备, 如 果 你 是 第 一 次 打 开 工 程 的 话 在 编 辑 器 顶 端 的 工 具 条 包 含 一 些 经 常 使 用 的 功 能 按 钮, 其 中 一 个 是 编 译 你 可 以 使 用 这 个 按 钮 直 接 编 译 当 前 打 开 的 类 文 件 现 在 点 击 编 译 按 钮 如 果 你 没 有 犯 任 何 错 误, 那 么 在 编 辑 器 最 下 方 的 消 息 区 会 出 现 一 条 消 息 提 示 你 这 个 类 已 经 被 编 译 完 如 果 你 犯 了 一 个 错 误 导 致 语 法 出 错, 错 误 行 会 高 亮 显 示, 并 且 在 消 息 区 会 有 相 应 的 错 误 提 示 ( 假 设 你 第 一 次 进 行 编 译 是 没 有 出 错, 现 在 试 着 造 成 一 个 语 法 错 误 - 比 如 漏 写 分 号 - 然 后 再 次 编 译, 看 看 会 出 现 什 么 效 果?) 在 你 成 功 的 编 译 完 之 后, 关 闭 编 辑 器 旁 注 : 你 没 有 必 要 显 式 的 去 保 存 一 个 类 文 件 源 文 件 会 自 动 保 存 在 某 些 合 适 的 时 候 ( 比 如 当 编 辑 器 关 闭 时 或 者 类 文 件 被 编 译 时 ) 你 也 可 以 显 式 的 保 存 文 件 如 果 你 愿 意 ( 在 编 辑 器 的 工 具 栏 上 有 相 应 的 按 钮 ), 但 是 这 种 操 作 真 的 没 什 么 必 要, 除 非 你 的 系 统 相 当 不 稳 定, 随 时 都 有 崩 溃 的 危 险, 你 又 很 担 心 你 会 丢 失 你 的 工 作 成 果 工 程 窗 口 的 工 具 条 上 同 样 也 有 编 译 按 钮 这 个 编 译 操 作 会 编 译 整 个 工 程 ( 实 际 上 它 判 断 哪 些 类 需 要 重 新 编 译 然 后 按 照 正 确 的 顺 序 重 新 编 译 这 些 类 ) 你 可 以 试 着 修 改 2 个 或 多 个 类 ( 这 样 会 有 2 个 或 多 个 类 的 图 标 出 现 条 纹 ), 然 后 点 击 编 译 按 钮, 如 果 在 被 编 译 的 几 个 类 中 出 现 错 误, 编 辑 器 就 会 被 打 开, 错 误 位 置 和 错 误 信 息 会 显 示 出 来 你 可 能 注 意 到 了 对 象 槽 又 被 清 空 了 旧 的 对 象 会 被 删 除 每 次 实 现 改 变 之 后 小 结 : 要 编 译 一 个 类, 单 击 编 辑 器 里 编 译 按 钮 要 编 译 一 个 工 程, 单 击 工 程 窗 口 里 的 编 译 按 钮 3.5 使 用 编 译 器 错 误 帮 助 一 个 很 普 遍 的 现 象 是 : 初 学 的 学 生 对 理 解 编 译 器 错 误 总 是 有 很 大 的 困 难 我 们 试 着 提 供 了 一 些 帮 助 再 次 打 开 编 辑 器, 在 源 文 件 里 制 造 一 个 错 误, 然 后 编 译 一 个 错 误 信 息 会 出 现 在 编 辑 器 的 消 息 区 在 它 的 右 端 有 一 个 问 号, 你 可 以 点 击 它 来 得 到 更 多 的 关 于 这 个 类 型 错 误 的 信 息 ( 图 8) 图 8: 编 译 器 错 误 和 帮 助 按 钮 - 12 -

在 这 种 情 况 下, 并 不 是 所 有 的 错 误 信 息 都 有 相 应 的 帮 助 文 档 一 些 帮 助 文 档 仍 然 需 要 被 编 写 但 是 还 是 值 得 一 试 的 许 多 错 误 已 经 有 了 相 应 的 解 释 剩 下 的 那 些 错 误 信 息 将 会 被 编 写 并 包 含 在 BlueJ 将 来 的 版 本 中 小 结 : 要 得 到 编 译 器 错 误 的 帮 助, 单 击 错 误 信 息 旁 边 的 问 号 图 标 4 进 一 步 在 这 部 分 中, 我 们 将 浏 览 一 下 另 外 一 些 经 常 在 这 个 环 境 中 需 要 做 的 事 情 这 些 事 情 虽 然 不 是 必 需 的, 但 却 是 经 常 用 到 的 4.1 观 察 对 象 当 你 执 行 一 个 对 象 的 方 法 的 时 候, 你 可 能 会 注 意 到 查 看 对 象 这 项 操 作, 它 可 以 应 用 于 除 用 户 定 义 的 方 法 之 外 的 所 有 对 象 ( 图 5) 此 操 作 可 以 查 看 对 象 的 实 例 变 量 ( 域 ) 的 状 态 试 着 用 一 些 用 户 自 定 义 的 值 创 建 一 个 对 象 ( 例 如 : 以 代 参 数 的 构 造 函 数 构 造 的 一 个 Staff 对 象 的 实 例 ) 然 后 从 对 象 菜 单 中 选 择 查 看 对 象, 就 会 弹 出 一 个 对 话 框 显 示 该 对 象 的 域, 其 类 型 和 其 值 ( 图 9) 图 9: 查 看 对 话 框 查 看 对 象 对 于 快 速 检 查 那 些 改 变 对 象 状 态 的 操 作 是 否 被 正 确 的 执 行 了 是 很 有 用 的 因 此 查 看 对 象 功 能 是 一 个 简 单 的 调 试 工 具 在 Staff 这 个 例 子 中, 所 有 的 域 都 是 简 单 数 据 类 型 ( 要 么 是 非 对 象 类 型, 要 么 是 字 符 串 类 型 ) 这 些 类 型 的 值 可 以 直 接 显 示 出 来 这 样 你 可 以 及 时 查 看 构 造 方 法 是 否 正 确 的 完 成 了 任 务 - 13 -

在 更 复 杂 的 情 况 下, 域 的 值 可 能 是 对 于 用 户 自 定 义 对 象 的 引 用 我 们 将 用 另 一 个 工 程 来 演 示 这 样 的 例 子 : 打 开 工 程 people2, 它 同 样 包 含 在 标 准 的 BlueJ 版 本 People2 的 界 面 如 下 图 10 所 示 可 以 看 到, 第 二 个 例 子 除 了 有 前 面 看 到 的 那 些 类 之 外 还 有 一 个 Address 类 Person 类 的 一 个 域 就 是 用 户 自 定 义 的 类 型 Address 图 10:People2 工 程 窗 口 接 下 来 我 们 要 试 验 的 是 查 看 对 象 的 域 创 建 一 个 Staff 对 象 并 且 调 用 它 的 setaddress 方 法 ( 你 可 以 在 Person 子 菜 单 中 找 到 ) 输 入 一 个 地 址, 在 内 部,Staff 的 代 码 创 建 Address 类 的 一 个 对 象 并 且 储 存 在 address 域 里 现 在 查 看 Staff 对 象 查 看 结 果 的 对 话 框 如 图 11 所 示 此 时,Staff 类 内 部 的 域 包 含 address 如 你 所 见, 他 的 值 显 示 为 <object reference> 因 为 这 是 一 个 复 杂 的, 用 户 自 定 义 的 对 象, 他 的 值 不 能 直 接 被 显 示 在 列 表 中 为 了 进 一 步 检 查 address, 在 列 表 中 选 择 address 域 并 且 点 击 对 话 框 中 的 查 看 对 象 按 钮 ( 你 同 样 也 可 以 双 击 address 域 ) 这 时 就 会 弹 出 另 一 个 查 看 窗 口, 其 中 显 示 了 address 对 象 的 详 细 内 容 ( 图 12) - 14 -

图 11: 查 看 对 对 象 的 引 用 图 12: 查 看 内 部 对 象 如 果 选 中 的 域 是 公 共 的, 你 同 样 可 以 选 择 address 域 并 且 点 击 Get 按 钮 而 不 是 查 看 对 象 按 钮 此 操 作 将 选 中 的 对 象 放 入 对 象 槽 中 你 可 以 进 一 步 的 通 过 调 用 它 的 方 法 查 看 它 小 结 : 通 过 显 示 对 象 的 内 部 状 态, 对 象 查 看 可 以 作 为 一 些 简 单 的 调 试 手 段 4.2 组 合 组 合 指 的 是 将 对 象 作 为 参 数 传 递 给 其 他 对 象 的 能 力 让 我 们 试 验 一 个 例 子 创 建 一 - 15 -

个 Database 类 的 对 象 ( 你 会 注 意 到 Database 类 只 有 一 个 不 带 参 数 的 构 造 方 法, 所 以 构 造 一 个 对 象 只 有 这 样 一 种 方 式 ) Database 对 象 有 容 纳 一 个 persons 列 表 的 能 力 它 有 相 应 的 一 些 操 作 来 添 加 person 对 象 和 显 示 所 有 当 前 储 存 的 person ( 用 Database 来 调 用 它 实 际 上 有 点 夸 张 了!) 如 果 你 还 没 有 在 对 象 槽 中 建 立 一 个 Staff 或 者 Student 对 象, 首 先 创 建 它 们 中 的 一 个 接 下 来, 你 在 对 象 槽 中 同 时 需 要 一 个 Database 对 象 和 一 个 Staff 或 者 Student 对 象 现 在 调 用 Database 对 象 的 addperson 方 法 提 示 告 诉 你 需 要 一 个 Person 类 型 的 参 数 ( 记 住 :Person 类 是 一 个 抽 象 类, 因 此 没 有 任 何 对 象 是 直 接 的 Person 类 型 但 是, 作 为 自 类 型, Student 和 Staff 对 象 可 以 作 为 Person 对 象 的 替 代 因 此 在 需 要 Person 的 时 候 传 送 Staff 或 者 Student 是 合 法 的 ) 为 了 将 你 的 对 象 槽 中 的 对 象 作 为 一 个 参 数 传 送 给 你 调 用 的 方 法, 你 可 以 在 参 数 域 中 输 入 它 的 名 字 或 者 作 为 一 种 快 捷 方 式, 只 需 要 点 击 你 需 要 的 对 象, 这 将 把 它 的 名 字 输 入 到 方 法 调 用 对 话 框 中 去 点 击 确 定 之 后 调 用 就 生 效 了 因 为 这 个 方 法 没 有 任 何 的 返 回 值, 我 们 不 能 立 刻 看 到 结 果 你 可 以 调 用 Database 的 listall 方 法 查 看 此 操 作 确 实 被 执 行 了 listall 操 作 把 个 人 信 息 写 入 到 标 准 输 出 你 会 注 意 到 一 个 文 本 终 端 自 动 被 打 开 来 显 示 这 些 文 本 可 以 再 试 几 次, 输 入 更 多 的 person 到 database 中 小 结 : 通 过 点 击 一 个 对 象 的 图 标 可 以 把 一 个 对 象 作 为 参 数 传 给 一 个 方 法 调 用 - 16 -

5 创 建 一 个 新 工 程 这 一 章 将 带 你 快 速 浏 览 如 何 建 立 一 个 新 的 工 程 5.1 创 建 工 程 目 录 要 创 建 一 个 新 的 工 程, 从 菜 单 中 选 择 工 程 - 新 建 然 后 自 动 打 开 一 个 文 件 选 择 对 话 框 允 许 你 为 新 工 程 确 定 一 个 名 字 和 位 置 现 在 试 着 这 样 做, 你 可 以 为 你 的 工 程 选 择 任 何 名 字 当 你 选 择 确 定 之 后, 将 按 照 你 提 供 的 名 字 创 建 一 个 目 录, 并 且 主 窗 口 显 示 当 前 这 个 新 的, 空 的 工 程 小 结 : 想 创 建 一 个 工 程, 从 工 程 菜 单 中 选 择 新 建 5.2 创 建 类 现 在 你 可 以 通 过 在 工 程 工 具 条 上 点 击 新 建 类 按 钮 创 建 你 的 类 了 你 将 需 要 为 这 个 类 提 供 一 个 名 字 这 个 名 字 必 须 是 一 个 合 法 的 Java 标 识 符 你 同 样 可 以 一 下 四 种 不 同 类 中 选 择 :abstract,interface,applet 或 者 standard 这 种 选 择 将 决 定 你 的 类 将 以 何 种 初 始 的 代 码 框 架 创 建 你 也 可 以 通 过 编 辑 源 代 码 修 改 类 的 类 型 ( 例 如, 把 abstract 关 键 字 加 入 你 的 代 码 中 ) 在 创 建 一 个 类 之 后, 它 在 图 中 以 一 个 图 标 表 示 不 同 的 颜 色 标 识 不 同 类 型 的 类, 例 如, 蓝 色 表 示 一 般 的 类, 浅 蓝 色 表 示 抽 象 类, 绿 色 表 示 接 口 当 你 为 一 个 新 类 打 开 编 辑 器 的 时 候, 你 会 注 意 到 一 个 默 认 的 类 框 架 已 经 搭 好 了 这 将 为 你 写 入 代 码 带 来 方 便 默 认 框 架 代 码 是 没 有 语 法 错 误 的, 可 以 通 过 编 译 ( 但 是 它 没 有 什 么 功 能 ) 试 着 创 建 一 些 类 并 且 编 译 它 们 小 结 : 想 创 建 一 个 类, 点 击 新 建 类 按 钮 并 且 确 定 一 个 类 名 5.3 创 建 依 赖 关 系 类 框 图 以 箭 头 显 示 框 中 各 个 类 之 间 的 依 赖 关 系 继 承 关 系 ( extends 或 者 implements ) 被 显 示 为 双 箭 头 ; uses 关 系 被 显 示 为 单 箭 头 你 既 可 以 通 过 图 形 方 式 ( 直 接 在 框 图 中 ) 也 可 以 通 过 在 源 代 码 中 以 文 本 方 式 添 加 依 赖 关 系 如 果 你 以 图 形 方 式 添 加 了 一 个 箭 头, 源 文 件 也 同 时 自 动 的 更 新 了 ; 如 果 你 在 源 代 码 中 添 加 了 以 来 关 系, 框 图 也 会 自 动 更 新 想 以 图 形 方 式 添 加 一 个 箭 头, 点 击 想 要 的 箭 头 按 钮 ( 双 箭 头 是 extends 或 者 implements 关 系, 单 箭 头 是 uses 关 系 ) 添 加 一 个 继 承 箭 头 将 在 源 文 件 中 加 入 extends 或 者 implements 定 义 ( 依 赖 于 目 标 是 一 个 类 还 是 一 个 接 口 ) 添 加 一 个 uses 箭 头 不 会 直 接 改 变 源 代 码 ( 除 非 目 标 是 在 另 一 个 包 中 的 类 那 样 将 会 产 生 一 个 import 语 句, 但 是 在 我 们 的 例 子 中 是 看 不 见 的 ) 如 果 拥 有 一 个 uses 箭 头 指 向 另 一 个 类 而 在 源 代 码 中 实 际 上 没 有 用 到 这 个 类, 稍 后 将 会 产 生 一 个 警 告, 告 知 程 序 员 声 名 - 17 -

了 对 另 一 个 类 的 uses 关 系 但 是 这 个 类 却 没 有 用 到 用 文 本 方 式 添 加 箭 头 很 容 易 : 只 需 要 像 平 常 一 样 敲 入 代 码 即 可 当 代 码 被 保 存 的 时 候, 框 图 也 更 新 了 ( 记 住 : 关 闭 文 本 编 辑 器 将 自 动 保 存 文 本 ) 小 结 : 想 创 建 一 个 箭 头, 可 以 点 击 箭 头 按 钮 并 且 在 框 图 中 拖 动 箭 头, 或 者 只 在 编 辑 器 中 修 改 源 代 码 5.4 删 除 元 素 想 从 框 图 中 删 除 一 个 类, 选 中 这 个 类 并 且 从 编 辑 菜 单 中 选 择 删 除 类 你 同 样 可 以 从 这 个 类 的 弹 出 菜 单 中 选 择 删 除 想 删 除 一 个 箭 头, 从 菜 单 中 选 择 删 除 箭 头 并 且 选 中 你 想 删 除 的 箭 头 小 结 : 想 删 除 一 个 类, 从 它 的 弹 出 菜 单 中 选 择 删 除 功 能 想 删 除 一 个 箭 头, 从 编 辑 菜 单 中 选 择 删 除 并 且 点 击 想 要 删 除 的 箭 头 - 18 -

6 调 试 本 章 介 绍 了 BlueJ 提 供 的 调 试 功 能 的 最 重 要 的 几 个 方 面 在 与 计 算 机 老 师 的 交 谈 过 程 中, 我 们 经 常 能 听 到 这 样 的 评 论 : 如 果 在 教 学 的 第 一 年 就 能 使 用 一 个 调 试 器 将 是 一 件 很 美 好 的 事 情, 但 是 往 往 没 有 时 间 去 介 绍 它 学 生 不 得 不 重 复 修 改, 编 译, 然 后 执 行 这 样 的 调 试 过 程 ; 没 有 剩 下 多 少 时 间 可 以 用 来 介 绍 另 一 个 复 杂 的 工 具 ( 调 试 器 ) 所 以 我 们 决 定 把 这 个 调 试 器 做 的 尽 可 能 的 简 单 我 们 的 目 标 是 编 写 一 个 15 分 钟 内 就 能 学 会 使 用 的 调 试 器, 并 且 学 生 们 能 够 在 没 有 更 多 指 导 的 情 况 下 使 用 它 现 在 来 看 看 我 们 是 如 何 做 到 这 一 点 的 首 先 我 们 简 化 了 传 统 调 试 器 的 在 以 下 三 个 任 务 上 的 功 能 : 设 置 断 点 单 步 执 行 查 看 变 量 作 为 回 报, 这 三 项 任 务 每 一 项 都 变 得 很 简 单 我 们 现 在 就 试 着 演 示 每 一 项 任 务 开 始 前, 请 打 开 工 程 debugdemo, 在 安 装 目 录 下 的 example 目 录 下 可 以 找 到 这 个 工 程 包 含 了 一 些 专 门 为 演 示 调 试 器 功 能 的 类 他 们 不 关 心 其 他 的 一 些 事 情 6.1 设 置 断 点 设 置 断 点 允 许 你 在 源 代 码 的 某 一 行 打 断 程 序 的 执 行 当 程 序 的 执 行 被 打 断 后, 你 可 以 查 看 的 你 的 工 程 的 状 态 它 通 常 可 以 帮 助 你 理 解 你 的 源 代 码 到 底 做 了 什 么 在 编 辑 器 文 本 区 的 左 边 是 断 点 区 ( 图 13) 你 可 以 通 过 在 断 点 区 单 击 来 设 置 断 点 一 个 小 的 停 止 图 标 会 出 现 来 标 明 断 点 现 在 试 一 下 打 开 类 Demo, 找 到 方 法 loop, 在 for 循 环 内 部 设 置 一 个 断 点, 停 止 图 标 应 该 会 出 现 在 你 的 编 辑 器 窗 口 里 图 13: 一 个 断 点 当 执 行 到 断 点 所 在 的 行 时, 执 行 过 程 就 会 被 打 断 让 我 们 试 一 下 创 建 一 个 Demo 对 象 并 且 用 参 数 (10) 调 用 loop 方 法 只 要 执 行 到 断 点 所 在 行, 编 辑 器 窗 口 就 会 自 动 跳 出, 显 示 当 前 行 的 代 码 同 时 调 试 器 窗 口 也 会 出 现, 它 应 该 看 起 来 如 图 14 所 示 - 19 -

图 14: 调 试 窗 口 高 亮 显 示 的 行 是 下 一 步 要 执 行 的 行 ( 执 行 过 程 在 改 行 还 没 被 执 行 前 被 打 断 ) 小 结 : 要 设 置 断 点, 单 击 编 辑 器 左 边 的 断 点 区 6.2 单 步 执 行 现 在 我 们 已 经 打 断 了 程 序 的 执 行 ( 这 是 我 们 相 信, 这 个 方 法 确 实 被 执 行 了, 并 且 断 点 的 代 码 也 确 实 被 执 行 到 了 ), 我 们 能 够 单 步 执 行 去 查 看 这 个 程 序 是 如 何 向 下 执 行 的 要 做 到 这 一 点, 不 断 的 点 击 调 试 窗 口 里 的 单 步 按 钮 你 应 该 可 以 看 到 编 辑 器 里 的 行 号 不 断 的 变 化 ( 高 亮 显 示 的 行 随 着 将 要 被 执 行 的 行 而 移 动 ) 每 次 你 点 击 单 步, 一 行 会 被 执 行 并 且 又 一 次 停 止 执 行 同 时 请 注 意 在 调 试 窗 口 里 显 示 的 变 量 值 也 在 不 停 的 改 变 ( 比 如 sum ) 所 以 你 可 以 一 步 一 步 的 执 行 来 观 察 发 生 了 哪 些 变 化 一 旦 你 厌 倦 了 单 步 执 行, 你 可 以 再 一 次 点 击 断 点 图 标 来 删 除 它, 然 后 点 击 调 试 器 里 的 继 续 图 标 来 重 新 启 动 执 行 过 程, 按 正 常 的 执 行 顺 序 执 行 让 我 们 用 另 一 个 方 法 来 试 一 下 在 Demo 类 cartest() 方 法 里 如 下 一 行 设 置 一 个 断 点 : places = mycar.seats(); 调 用 这 个 方 法 当 该 行 被 执 行 到 时, 正 要 执 行 Car 类 的 seats() 方 法 单 击 单 步 会 执 行 整 个 行, 而 不 会 进 入 seats() 方 法 这 次 让 我 们 试 试 单 步 进 入 如 果 你 使 用 单 步 进 入, 你 就 会 进 入 到 一 个 方 法 的 内 部, 单 步 执 行 该 方 法 ( 就 跟 单 步 一 样 ) 你 能 够 很 高 兴 的 单 步 跟 踪 这 个 方 法 知 道 该 方 法 结 束 返 回 调 用 它 的 函 数, 注 意 调 试 器 显 示 的 变 化 单 步 和 单 步 进 入 在 当 前 行 没 有 的 用 方 法 的 情 况 下 是 一 样 的 小 结 : 要 单 步 调 试, 使 用 调 试 器 的 单 步 或 单 步 进 入 按 钮 - 20 -

6.3 查 看 变 量 当 你 调 试 调 试 你 的 代 码 的 时 候, 能 够 了 解 你 的 对 象 的 当 前 的 状 态 是 很 重 要 的 ( 局 部 变 量 和 成 员 实 例 变 量 ) 要 做 到 这 一 点 是 很 简 单 的 大 部 分 你 已 经 看 到 过 了 你 不 需 要 特 别 的 命 令 来 查 看 变 量 ; 当 前 对 象 的 成 员 变 量 和 当 前 方 法 的 局 部 变 量 都 会 被 自 动 显 示 和 更 新 你 可 以 选 择 调 用 栈 里 的 方 法 来 查 看 其 他 当 前 活 动 的 对 象 或 方 法 的 变 量 试 一 下, 比 如, 在 cartest() 方 法 里 再 一 次 设 置 断 点 在 调 试 器 窗 口 的 左 端, 你 能 看 见 调 用 栈, 当 前 的 显 示 是 Car.seats Demo.carTest 这 表 示 Car.seats 被 Demo.carTest 调 用 了, 你 可 以 选 择 这 个 列 表 中 的 Demo.carTest 来 查 看 源 代 码 和 当 前 各 个 变 量 的 值 如 果 你 单 步 运 行 包 含 new Car( ) 的 行 你 可 以 看 到 局 部 变 量 mycar 的 值 显 示 在 <Object Reference> 里 所 有 Object 子 类 类 型 变 量 的 值 ( 除 了 String) 是 通 过 这 个 方 法 显 示 的 你 可 以 通 过 双 击 这 些 变 量 来 查 看 它 们 的 值 这 样 做 的 话 会 弹 出 一 个 和 前 面 描 述 一 致 的 对 象 查 看 窗 口 (4.1 节 ), 在 这 里 查 看 对 象 状 态 和 在 对 象 槽 里 查 看 是 一 样 的 小 结 : 查 看 变 量 是 很 方 便 的 它 们 被 自 动 显 示 在 调 试 器 窗 口 里 6.4 暂 停 和 中 止 调 试 有 的 时 候 一 个 程 序 运 行 了 很 长 的 时 间 你 开 始 怀 疑 是 不 是 出 了 问 题 也 许 存 在 一 个 无 限 循 环, 也 许 长 时 间 运 行 是 正 常 的 好, 我 们 可 以 检 查 一 下 在 Demo 类 里 调 用 longloop(), 这 个 方 法 运 行 很 长 时 间 现 在 我 们 想 知 道 程 序 运 行 的 怎 么 样 了 打 开 调 试 器 窗 口, 如 果 它 还 没 有 被 打 开 的 话 ( 顺 便 说 一 下, 在 执 行 过 程 中 点 击 代 表 虚 拟 机 正 在 运 行 的 旋 转 图 标 是 打 开 调 试 器 的 一 个 快 捷 方 式 ) 现 在 点 击 暂 停 按 钮 程 序 的 执 行 被 停 止 了 就 跟 我 们 设 置 了 一 个 断 点 一 样 现 在 你 就 可 以 单 步 执 行 一 段, 观 察 对 象, 看 看 是 不 是 一 切 正 常 它 只 是 需 要 更 多 的 时 间 来 完 成 运 行 你 可 以 继 续 暂 停 几 次 来 看 看 它 计 数 有 多 快 如 果 你 真 的 不 想 让 它 再 继 续 执 行 下 去 ( 比 如, 你 发 现 你 的 程 序 已 经 陷 入 了 死 循 环 ), 你 可 以 点 击 中 止 来 中 止 程 序 的 执 行 中 止 操 作 不 应 该 被 频 繁 使 用 这 样 会 使 用 那 些 实 现 的 很 完 美 的 类 进 入 不 一 致 的 状 态 所 以 建 议 只 把 这 项 功 能 作 为 一 项 紧 急 措 施 来 使 用 小 结 : 暂 停 和 中 止 可 以 用 来 暂 时 或 永 久 打 断 程 序 的 执 行 - 21 -

7 创 建 独 立 的 应 用 程 序 BlueJ 可 以 创 建 可 执 行 的 jar 文 件 可 执 行 jar 文 件 在 某 些 系 统 上 可 以 通 过 双 击 来 执 行 ( 比 如 windows) 或 者 通 过 使 用 命 令 java jar <file-name>.jar(unix 或 者 Dos 命 令 行 ) 我 们 通 过 例 子 程 序 hello 来 演 示 这 一 点, 打 开 它 ( 在 example 目 录 下 ) 确 定 这 个 工 程 被 编 译 完 了 从 工 程 菜 单 选 择 导 出 功 能 一 个 对 话 框 会 出 现, 询 问 你 保 存 的 格 式, 选 择 jar 文 件 来 创 建 一 个 可 执 行 的 jar 文 件 为 了 是 这 个 jar 文 件 可 执 行, 你 还 必 须 指 定 一 个 主 类 这 个 类 必 须 有 一 个 有 效 定 义 的 main () 方 法 ( 使 用 定 义 public static void main(string args[])) 在 我 们 的 例 子 里 选 择 主 类 是 很 简 单 的 : 因 为 只 有 一 个 类 从 弹 出 菜 单 里 选 择 Hello 如 果 你 有 其 他 的 工 程, 选 择 包 含 你 希 望 被 执 行 的 main() 方 法 的 类 作 为 主 类 通 常 情 况 下, 你 不 需 要 把 源 文 件 包 含 到 可 执 行 文 件 中 但 如 果 你 愿 意, 你 也 可 以 同 时 发 布 你 的 源 代 码 点 击 继 续, 接 下 来 你 会 看 见 一 个 文 件 选 择 对 话 框 让 你 指 定 要 生 成 的 jar 文 件 的 文 件 名 输 入 Hello 然 后 点 击 确 定 jar 文 件 的 创 建 就 完 成 了 你 能 够 双 击 jar 文 件 除 非 你 的 应 用 程 序 是 图 形 界 面 的 我 们 的 例 子 使 用 文 本 输 入 输 出, 所 以 我 们 不 得 不 从 一 个 字 符 终 端 启 动 它 现 在 让 我 们 试 着 运 行 它 打 开 一 个 终 端 或 者 Dos 窗 口 然 后 进 入 你 保 存 jar 文 件 的 目 录 ( 你 应 该 能 够 看 见 一 个 叫 Hello.jar 的 文 件 ) 假 设 你 的 系 统 上 已 经 正 确 的 安 装 了 Java, 这 样 的 话 你 就 可 以 使 用 以 下 的 命 令 java jar hello.jar 来 执 行 这 个 文 件 小 结 : 要 创 建 一 个 独 立 的 应 用 程 序, 使 用 工 程 - 导 出 - 22 -

8 创 建 Applet 8.1 运 行 一 个 Applet BlueJ 允 许 像 应 用 程 序 一 样 创 建 和 执 行 Applets 在 发 布 版 本 的 示 例 目 录 中 有 一 些 Applets 首 先, 我 们 要 试 着 运 行 其 中 一 个 从 示 例 中 打 开 appletclock 工 程 你 会 看 到 这 个 项 目 中 只 有 一 个 名 为 Clock 的 类 类 的 图 标 已 经 被 ( 用 WWW 字 样 ) 标 明 为 applet 从 类 的 弹 出 菜 单 中 选 择 运 行 Applet 命 令 此 时 会 弹 出 一 个 对 话 框, 你 可 以 输 入 一 些 选 项 ( 图 15) 图 15: 运 行 Applet 对 话 框 你 会 发 现 你 可 以 选 择 是 在 一 个 浏 览 器 中 还 是 在 一 个 applet 查 看 器 中 运 行 一 个 applet( 或 者 仅 仅 创 建 一 个 Web 页 面 而 不 运 行 它 ) 保 留 默 认 设 置 并 且 点 击 确 定 过 一 会 儿 便 会 弹 出 一 个 applet 查 看 器 显 示 出 这 个 时 钟 applet Applet 查 看 器 与 你 的 JDK 安 装 在 一 起, 因 此 保 证 了 它 总 是 和 你 的 Java 编 译 器 是 同 一 个 版 本 的 它 通 常 会 比 浏 览 器 产 生 更 少 的 错 误 你 的 浏 览 器 可 能 运 行 不 同 版 本 的 Java 并 且 可 能 产 生 错 误, 这 依 赖 与 你 所 使 用 的 浏 览 器 版 本 但 是, 现 在 大 部 分 版 本 是 工 作 正 常 的 在 Microsoft Windows 操 作 系 统 中,BlueJ 使 用 你 的 默 认 浏 览 器 在 Unix 操 作 系 统 中, 浏 览 器 需 要 在 BlueJ 的 设 置 中 定 义 小 结 : 想 要 运 行 一 个 applet, 从 applet 的 弹 出 菜 单 中 选 择 运 行 Applet - 23 -

8.2 创 建 一 个 Applet 知 道 怎 么 运 行 一 个 applet 之 后, 我 们 想 要 创 建 一 个 自 己 的 applet 创 建 一 个 新 的 类, 在 类 类 型 一 栏 中 选 择 Applet( 你 可 以 在 新 建 类 的 对 话 框 中 选 择 类 型 ) 编 译, 然 后 运 行 这 个 applet, 就 这 样 这 不 是 很 方 便 的 吗? 跟 其 他 类 一 样,Applet 创 建 的 时 候 就 已 经 自 动 构 造 了 一 个 由 一 些 合 法 代 码 组 成 的 框 架 这 些 代 码 用 两 行 文 字 构 成 了 一 个 简 单 的 applet 现 在 你 可 以 打 开 编 辑 器 并 且 编 辑 你 的 applet, 向 其 中 插 入 你 自 己 的 代 码 其 中 你 可 以 看 到 所 有 一 般 的 applet 方 法, 每 一 个 方 法 都 有 一 段 说 明 其 目 的 的 注 释 所 有 的 样 本 代 码 都 在 paint 方 法 中 小 结 : 想 创 建 一 个 applet, 点 击 新 建 类 按 钮 并 且 在 类 的 类 型 栏 目 中 选 择 Applet 8.3 测 试 一 个 Applet 某 些 情 况 下 在 对 象 槽 中 创 建 一 个 applet 对 象 是 很 有 用 的 ( 就 如 普 通 类 一 样 ) 你 可 以 很 容 易 的 做 到 这 一 点 applet 的 构 造 函 数 就 在 它 的 弹 出 菜 单 之 中 你 不 能 在 对 象 槽 中 运 行 整 个 applet, 但 是 你 可 以 调 用 一 些 方 法 当 你 想 要 测 试 你 在 applet 中 已 经 实 现 的 某 一 个 方 法 的 时 候, 这 是 很 有 用 的 - 24 -

9 其 它 操 作 9.1 在 BlueJ 中 打 开 非 BlueJ 的 软 件 包 BlueJ 允 许 你 打 开 那 些 已 经 存 在 的 但 并 非 用 BlueJ 生 成 的 软 件 包 你 只 需 要 从 菜 单 中 选 择 工 程 打 开 非 BlueJ 即 可 选 择 包 含 了 Java 源 文 件 的 目 录, 然 后 点 击 在 BlueJ 中 打 开 按 钮 系 统 将 会 要 求 你 确 认 是 否 要 打 开 这 个 目 录 小 结 : 非 BlueJ 软 件 包 可 以 用 工 程 : 打 开 非 BlueJ 命 令 打 开 9.2 在 工 程 中 加 入 已 有 的 类 文 件 你 经 常 想 要 在 BlueJ 的 工 程 中 使 用 一 些 从 其 他 地 方 得 到 的 类 例 如, 老 师 可 能 给 学 生 一 个 Java 类, 这 个 类 要 在 某 个 工 程 中 用 到 你 只 需 要 在 菜 单 中 选 择 编 辑 从 文 件 添 加 一 个 类 就 可 以 轻 松 的 将 以 一 个 已 经 存 在 的 类 合 并 到 你 的 工 程 中 去 这 样 BlueJ 允 许 你 导 如 一 个 选 中 的 Java 源 文 件 ( 文 件 名 以.java 结 尾 ) 当 某 个 类 成 功 的 被 导 入 一 个 工 程 以 后, 它 就 被 复 制 并 且 储 存 到 当 前 的 工 程 目 录 中 这 跟 你 创 建 一 个 类 并 且 写 入 所 有 的 代 码 效 果 是 完 全 一 样 的 另 一 种 可 供 选 择 的 方 法 是, 直 接 从 外 部 添 加 一 个 类 的 源 文 件 到 你 的 工 程 所 在 目 录 中 下 次 启 动 BlueJ 的 时 候, 这 类 就 会 被 包 含 在 工 程 框 图 中 小 结 : 可 以 使 用 从 文 件 添 加 类 命 令 把 需 要 的 类 从 外 部 拷 贝 到 工 程 中 来 9.3 调 用 main 函 数 和 其 他 静 态 成 员 方 法 从 examples 目 录 中 打 开 hello 工 程 工 程 中 唯 一 的 一 个 类 ( 类 Hello) 定 义 了 一 个 标 准 的 main 方 法 鼠 标 右 键 点 击 这 个 类, 你 可 以 看 到 类 的 菜 单 中 不 仅 有 这 个 类 的 构 造 方 法, 而 且 还 有 一 个 静 态 的 main 方 法 你 可 以 直 接 从 菜 单 中 调 用 main 方 法 ( 并 不 需 要 像 我 们 期 待 的 那 样 为 静 态 方 法 首 先 创 建 一 个 对 象 ) 所 有 的 静 态 方 法 都 可 以 这 样 调 用 标 准 的 main 方 法 需 要 一 个 字 符 串 数 组 参 数 你 可 以 使 用 标 准 的 Java 数 组 构 造 语 法 传 递 一 个 字 符 串 数 组 例 如, 你 可 以 把 { one, two, three } 传 递 给 方 法 试 一 试! 旁 注 : 在 标 准 Java 中, 数 组 构 造 方 法 不 能 作 为 方 法 调 用 的 实 际 参 数 它 只 能 用 来 初 始 化 数 组 但 在 BlueJ 中, 为 了 支 持 对 标 准 main 方 法 的 交 互 式 调 用, 我 们 允 许 把 数 组 的 构 造 方 法 作 为 参 数 传 递 小 结 : 静 态 方 法 可 以 从 类 的 弹 出 菜 单 中 直 接 调 用 - 25 -

9.4 使 用 类 库 在 你 写 Java 程 序 的 时 候, 你 经 常 需 要 查 看 Java 的 标 准 库 你 可 以 通 过 从 菜 单 中 选 择 帮 助 Java 标 准 类 在 web 浏 览 器 来 打 开 JDK API 文 档 ( 如 果 你 是 在 线 的 ) JDK 的 帮 助 文 档 也 可 以 在 本 地 安 装 和 使 用 ( 未 联 机 方 式 ) 在 BlueJ 的 参 考 手 册 中 有 详 细 说 明 小 结 : 可 以 选 择 帮 助 Java 标 准 库 来 查 看 Java 的 标 准 类 API - 26 -

10 小 结 基 础 知 识 : 1. 要 创 建 一 个 对 象, 从 类 菜 单 中 选 择 一 个 构 造 函 数 2. 要 执 行 一 个 方 法, 从 对 象 菜 单 中 选 择 它 3. 要 编 辑 类 的 源 码, 双 击 类 图 标 4. 要 编 译 一 个 类, 单 击 编 辑 器 里 编 译 按 钮 要 编 译 一 个 工 程, 单 击 工 程 窗 口 里 的 编 译 按 钮 5. 要 得 到 编 译 器 错 误 的 帮 助, 单 击 错 误 信 息 旁 边 的 问 号 图 标 进 一 步 : 6. 通 过 显 示 对 象 的 内 部 状 态, 对 象 查 看 可 以 作 为 一 些 简 单 的 调 试 手 段 7. 通 过 点 击 一 个 对 象 的 图 标 可 以 把 一 个 对 象 作 为 参 数 传 给 一 个 方 法 调 用 创 建 一 个 新 工 程 : 8. 想 创 建 一 个 工 程, 从 工 程 菜 单 中 选 择 新 建 9. 想 创 建 一 个 类, 点 击 新 建 类 按 钮 并 且 确 定 一 个 类 名 10. 想 创 建 一 个 箭 头, 可 以 点 击 箭 头 按 钮 并 且 在 框 图 中 拖 动 箭 头, 或 者 只 在 编 辑 器 中 修 改 源 代 码 11. 想 删 除 一 个 类, 从 它 的 弹 出 菜 单 中 选 择 删 除 功 能 12. 想 删 除 一 个 箭 头, 从 编 辑 菜 单 中 选 择 删 除 并 且 点 击 想 要 删 除 的 箭 头 调 试 : 13. 断 点, 单 击 编 辑 器 左 边 的 断 点 区 14. 要 单 步 调 试, 使 用 调 试 器 的 单 步 或 单 步 进 入 按 钮 15. 查 看 变 量 是 很 方 便 的 -- 它 们 被 自 动 显 示 在 调 试 器 窗 口 里 16. 暂 停 和 中 止 可 以 用 来 暂 时 或 永 久 打 断 程 序 的 执 行 创 建 独 立 的 应 用 程 序 : 17. 要 创 建 一 个 独 立 的 应 用 程 序, 使 用 工 程 - 导 出 创 建 小 应 用 程 序 18 运 行 小 应 用 程 序, 从 小 应 用 程 序 的 弹 出 菜 单 中 选 择 运 行 applet 功 能 19 创 建 小 应 用 程 序, 点 击 新 建 类 按 钮, 并 指 定 文 件 名 及 类 型 为 applet 其 它 操 作 20 打 开 非 BlueJ 包, 用 主 菜 单 中 的 工 程 打 开 非 BlueJ 文 件 21 类 文 件 可 从 工 程 外 被 拷 贝 到 工 程 中, 用 编 辑 从 文 件 添 加 类 命 令 22 静 态 方 法 可 用 弹 出 菜 单 调 用 23 可 通 过 菜 单 中 的 帮 助 Java 类 库, 打 开 浏 览 器 查 看 Java API 文 档 - 27 -

- 28 -