Java中不带package的程序和带package的程序编译的方式是不同的。
一、不带package的程序
建立个HelloWorld.java的文件,放入C:\,内容如下:
public class HelloWorld
{
public static void main(String args[])
//向屏幕上写字符串"HelloWorld!"
{
System.out.println("HelloWorld!");
}
}
1.编译
编译的指令是javac
编译方式:文件根目录 javac 文件名.java
比如:这个文件名字:HelloWorld.java
文件路径:C:\
编译过程:
cmd 回车
cd \ 回车
javac HelloWorld.java 回车
注:此时c:\下将生成一个HelloWorld.class的文件。
2.运行
Java HelloWorld 回车
注:HelloWorld没有后缀。
二、带package的程序
一般按照包的层次来做或者使用eclipse生成的带包的文件,如何用cmd编译运行呢?
编写一个类,它是按照包的层次编码的,如果此时想通过javac和java命令来编译运行,就需要如下来做:
在c:\net\test下建立一个HelloWorld.java的文件,放入C:\,内容如下:
package net.test; //注意:这个第一行就是对包进行说明,其中net后面的点其实是目录的意思。
public class HelloWorld
{
public static void main(String args[])
//向屏幕上写字符串"HelloWorld!"
{
System.out.println("HelloWorld!");
}
}
1.编译
编译的指令是javac
编译方式:文件根目录 javac 文件名.java
比如:文件名字:HelloWorld.java
文件路径:c:\net\test\HelloWorld.java
文件包名:net.test
编译过程:
cmd 回车
cd c:\net\test 回车
javac HelloWorld.java 回车 将生成一个HelloWorld.class的文件
或者,可以通过javac –d . 文件名.java 来生成package目录。
2. 运行
运行时候需要注意了,不能文件的根目录,是到文件的包目录的上层目录——可以理解为工程目录下,然后运行,文件名前需要加上包名。
运行过程:
cmd 回车
C:\ 回车, 退回到根目录
java net.test.HelloWorld 回车
一般有包名的情况大部分是通过IDE开发的!
在初学Java时,建议大家使用文本编辑器来写程序,如UltraEdit,Notepad++这一类的工具,而不要使用eclipse,myeclipse这一类的IDE,对于大家打基础一点好处都没有。
先说一下源程序中不带package的情况。
在使用文本编辑器运行程序时,在windows系统中需要打开cmd,进入到源程序所在目录下。运行
javac 文件名.java
来编译程序,运行
java 文件名
来运行程序。注意运行的时候不要加.class后缀。这也是最简单的方式。
如果说源程序中带有package,则在编译的时候需要加-d,如javac -d . 文件名.java。-d表示指定目录位置,后面跟一个点表示当前目录, 这样编译好的文件就会有目录结构了。如果不加-d选项,则不会有目录结构。而且运行的时候无论使用不用全类名运行,都会报错,所在编译时一定要加-d选项。运行时则必须使用全限定类名,否则会报错,找不到该类。运行程序的时候一定要在程序的根目录下运行,不能进入到目录结构中,class文件所在的子目录中去运行,即使是使用全类名,运行的时候也会报错,找不到该类。所以带package的代码,运行时一定要在程序的根目录下运行。