Java2实用教程(第4版)实验指导与习题解答_IT168文库(精) 下载本文

Exception in thread “main ”java.lang.NoClassFondError 出现该错误的原因是没有设置好系统变量ClassPath ,可参见教材1.3节,或运行的不是主类的名字或程序没有主类。

7.实验后的练习

(1编译器怎样提示丢失大括号的错误。 (2编译器怎样提示语句丢失分号的错误。

(3编译器怎样提示将System 写成system 这一错误。 (4编译器怎样提示将String 写成string 这一错误。 8.填写实验报告

实验编号:101 学生姓名: 实验时间: 教师签字:

实验2 联 合 编 译 1.相关知识点

Java 程序的基本结构就是类,有时源文件可以只有一个类,编译这个源文件将得到这个类的字节码文件。字节码文件在程序运行时动态地加载到内存,然后再由Java 虚拟机解释执行,因此,可以事先单独编译一个应用的程序所需要的其他源文件,将得到的字节码文件和应用程序存放在同一目录中。如果应用程序的源文件和其他的源文件在同一目录中,也可以只编译应用程序源文件,Java 系统会自动地先编译应用程序需要的其他源文件。 2.实验目的

本实验的目的是学习同时编译多个Java 源文件。 3.实验要求 编写4个源文件:

MainClass.java 、A.java 、B.java 和C.java ,每个源文件只有一个类。

MainClass.java 含有应用程序的主类(含有main(方法,并使用了A 、B 和C 类。将4个源文件保存到同一目录中,例如C:\\1000,然后编译MainClass.java 。

4.程序效果示例 图1.2 只编译主类

程序运行效果如图1.2所示。 5.程序模板

请按模板要求,将【代码】替换为Java程序代码。 MainClass.java public class MainClass {

public static void main (String args[] {

【代码1】 //命令行窗口输出\你好,只需编译我\A a = new A(; a.fA(; B b = new B(;

b.fB(; } } A.java public class A { void fA( {

【代码2】 //命令行窗口输出\} } B.java public class B { void fB( {

【代码3】 //命令行窗口输出\} } C.java public class C { void fC( {

【代码4】 //命令行窗口输出\

} }

6.实验指导

?编译Hello.java的过程中,Java系统会自动地先编译A.java、B.java但不编译C.java。

类。当虚拟机将Hello.class加载到内存时, Java解释器调用main(方法开始 main(方法写成:public void 7.实验后的练习

(1将Hello.java编译通过以后,不断地修改A.java源文件中的【代码】,比如,在命令行窗口输出Nice to meet you或Can you need my hand。要求每次修改A.java源文件后,单独编译A.java,然后直接运行应用程序Hello。

(2如果需要编译某个目录下的全部Java源文件,比如C:\\1000目录,可以使用如下命令: