类的各种编译与运行方式

 

1.编译运行无packageimport语句的类

编写HelloWorld.java文件,源文件如下。放置在C:/myProject目录下。

public class HelloWorld { public static void main(String[] args){ System.out.println("Hello World!"); } } 

配置classpath = .;C:/jdk1.6.0_12/lib(根据自己JDK实际安装目录配置 )。

第一种 编译运行方式:

1)打开命令行窗口,进入C:/myProject目录下。

2)输入javac HelloWorld.java,编译成功后在C:/myProject目录下生成一个HelloWorld.class文件。

3)输入java HelloWorld运行。

第二种 编译运行方式:

1)打开命令行窗口,进入C:/ 目录下。

2)输入javac myProject/HelloWorld.java ,编译成功后在C:/myProject目录下生成一个HelloWorld.class文件。

3)输入java -cp myProject HelloWorld 或者 java -cp ./myProject HelloWorld运行。.代表当前目录。

第三种 编译运行方式(使用 -d 编译):

默认情况下,编译器将.class文件放在与 .java源文件相同的目录。对于非常小的项目,这是很好的。但如果你开发任意大小的项目,你将想要保持.java文件与.class文件分离(这有助于版本控制、测试和部署)。-d选项让你告诉编译器哪个目录用于存放生成的类.class文件(d是目标目录的头一个字母)。

我们在C:/下新建如下的目录,将HelloWorld.java文件放在C:/myProject/source目录下。

myProject | | ———— source | | | | ———— HelloWorld.java | | | ———— classes | | | | ———— | 

(1) 打开命令行窗口,进入C:/myProject目录下。

(2) 输入javac –d classes source/HelloWorld.java ,编译成功后在C:/myProject/classes目录下生成一个HelloWorld.class文件。

(3) 输入 java cp classes HelloWorld 或者 java cp ./classes HelloWorld运行;

或者进入C:/myProject/classes 目录,输入java HelloWorld 运行。

2.编译运行有package和无import语句的类

package com.test; public class HelloWorld { public static void main(String[] args){ System.out.println("Hello World!"); } } 

我们在C:/下新建如下的目录,将HelloWorld.java文件放在C:/myProject/source/com/test目录下。如下所示

myProject | | ———— source | | | | —— com | | | | —— test | | | | —— HelloWorld.java | | ———— classes | | | | —— com | | | | —— test | | | | —— ( HelloWorld.class goes here ) |  

编译运行方式如下:

 

(1) 打开命令行窗口,进入C:/myProject/source目录下。

(2) 输入javac d ../classes com/test/HelloWorld.java,编译成功后在C:/myProject/classes/com/test目录下生成一个HelloWorld.class文件。

(3) 输入 java -cp ../classes com/test/HelloWorld 

或者 java -cp ../classes com.test.HelloWorld 运行。

3.编译运行有package和无import语句的类

初学者易混淆classpath的作用,对于java命令的-cp选项和javac命令的-classpath选项,以及配置环境变量时的CLASSPATH.其作用是不变的:都是指定所需要的class文件的位置。所不同的是,执行javac编译时的-classpath选项用于指定被编译的源文件需要调用另外的用户自定义类的位置。执行java命令是根据classpath来寻找所需要执行的class文件的位置;而javac命令不能根据classpath来找源文件,只能根据classpath来寻找所需要用到的类。


 

编写ClassA.java文件,源文件如下。

 

package com.test; public class HelloWorld { public static void main(String[] args){ System.out.println("Hello World!"); } } 

编写 TestClassA.java文件,源文件如下。

package com.test2; import com.test1.ClassA; public class TestClassA { public static void main(String[] args){ ClassA classA = new ClassA(); classA.info(); } } 

myProject | | ———— source | | | | —— com | | | | —— test1 | | | | | | —— ClassA.java | | | | —— test2 | | | | | —— TestClassA.java | | | ———— classes | | | | —— com | | | | —— test1 | | | | | | —— ( ClassA.class goes here ) | | | | —— test2 | | | | | —— (TestClassA.class goes here) | 

编译运行方式如下:

(1) 打开命令行窗口,进入C:/myProject/source目录下。

(2) 输入javac -d ../classes com/test2/TestClassA.java,编译成功后在C:/myProject/classes/com/test1下生成一个ClassA.class文件,在C:/myProject/classes/com/test2 下生成一个TestClassA.class文件。

(3) 输入java -cp ../classes com/test2/TestClassA 运行。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(类的各种编译与运行方式)