background image

 

二、命令篇
7 我写了第一个 Java 程序,应该如何编译/运行? 
答:首先请将程序保存为 xxx.java 文件,然后在 dos 窗口下使用 javac 
xxx.java 命令,你会发现该目录下多了一个 xxx.class 文件,再使用 java 
xxx 命令,你的 java

 

程序就开始运行了。

8 我照你说的做了,但是出现什么" javac  

′ 不是内部或外部命令,也不是

可运行的程序或批处理文件。"  

答:你遇到了 path 问题。操作系统在一定的范围(path)内搜索 javac.exe,但
是没能找到。请编辑你的操作系统环境变量,新增一个 JAVA_HOME 变量,设
为你 JDK 的安装目录,再编辑 Path

 

变量,加上一项 %JAVA_HOME%\bin。然

后关掉并新开一个 dos 窗口,你就可以使用 javac 和 java

 

命令了。

9 环境变量怎么设置? 
答:

 

请向身边会设的人咨询。

10 javac xxx.java 顺利通过了,但是 java xxx 的时候显示什
么"NoClassDefFoundError"?br> 
答:你遇到了 classpath 问题。java 命令在一定的范围(classpath)内搜索你要
用的 class

 

文件,但是未能找到。

首先请确认你没有错敲成 java xxx.class,其次,检查你的 CLASSPATH 环境
变量,如果你设置了该变量又没有包含.(代表当前目录)的?br> 睿?br> 
你就会遇到这个问题。请在你的 CLASSPATH

 

环境变量中加入一项 。另外参见

15  

11 我在 java xxx 的时候显示"Exception in thread "main" 
java.lang.NoSuchMethodError: main"  

答:首先,在你的程序中每个 java 文件有且只能有一个 public 类,这个类的
类名必须和文件名的大小写完全一样。其次,在你要运行的类中有且只能有一
个 public static void main(String[] args)

 

方法,这个方法就是你的主程序。

  12 package 是什么意思?怎么用? 
答:为了唯一标识每个类并分组,java 使用了 package

 

的概念。

每个类都有一个全名,例如 String 的全名是 java.lang.String,其中
java.lang 是包名,String

 

是短名。

这样,如果你也定义了 String,你可以把它放在 mypackage 中,通过使用
全名 mypackage.String 和 java.lang.String 来区分这两个类。同时,将逻辑
上相关的类放在同一个包中,可以使程序结构更为清楚。你要做的就是在 java
文件开头加一行"package mypackage;"  

注意包没有嵌套或包含关系,A 包和 A.B 包对 java 命令来说是并列的两个包。 

13 我没有声明任何 package 会怎么样? 
答:

 

你的类被认为放在默认包中。这时全名和短名是一致的。