BlueJ
教程
人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程
版本 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
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
27
- 3 -
1 前言
1.1 关于 BlueJ
这份教程介绍了如何使用 BlueJ 这个编程环境。BlueJ 是一个专门为入门级教学设计的
JavaTM 开发环境。它是由澳大利亚墨尔本 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-
你应该使用你得到的文件的名字(使用正确的版本号)
/bin/java –jar bluej-111.jar
是 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 -
你看到的主窗口中间的方块(标注了 数据库,人,教员和学生)是代
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
了在这个应用程序
中用到的类的图标。右键单击类的图标,你会得到一个包含能够应用到该类的操作的一个菜
单(图 2)。图中显示的操作由 new 操作符和类中定义的各个构造函数的组合,以及 BlueJ
环境提供的一些操作组成。
图 2:类操作(弹出菜单)
我们希望创建一个教员对象,所以你应该右键单击教员图标(会弹出图 2 中显示的菜单)。
这个菜单显示了两个构造函数可以用来构造教员类。一个有参数一个没有。首先,选择没有
参数的构造函数。弹出的对话框应该如图 3 所示.
- 8 -
图 3:创建没有参数的对象
这个对话框要求你输入一个被创建对象的名字。同时提供了一个缺省的名字(staff_1)。这
个缺省的名字对我们来说足够好了。所以马上点击 OK。一个教员对象就会被创建。
一旦一个对象被创建,它会被放在窗口底部的对象槽里(图 4)。
图 4:一个对象在对象槽里
你可能已经注意到 Person 类被标注为<>(它是一个抽象类)。你会发现(如果你
试一试)你不能创建抽象类的对象(就跟 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。
如你所见,他的值显示为