一、不带包的多个类编译
javac之txt文件实现9*9乘法表
文档位置:
Multiplydemo.java位置:
C:\Users\GPJ\Desktop\JavaPath\src\Multiplydemo.java
MultiplyTable.java位置:
C:\Users\GPJ\Desktop\JavaPath\src\multiply\MultiplyTable.java
sourcelist.txt位置:
C:\Users\GPJ\Desktop\JavaPath\sourcelist.txt
Multiplydemo.java及MultiplyTable.java及sourcelist.txt具体代码:
public class Multiplydemo{
public static void main(String[] args){
MultiplyTable a=new MultiplyTable();
a.Multi_Method();
}
}public class MultiplyTable{
public void Multi_Method(){
for(int i=1;i<10;i++){
for(int j=1;j
运行命令:
-d代表生成.class文件放置目标路径,此处为当前路径下的classes文件夹
-sourcepath后跟.java源文件 ,包含Multiplydemo.java和MultiplyTable.java的文件路径的sourcelist.txt文件必须前跟@,src和sourcelist.txt文件在同一级目录下,如下图所示:
运行结果如图:
二、带包的多个类的编译
类为SortTest.java和InsertSort.java
.java源文件所在位置为:
SortTest.java位置:
C:\Users\Administrator\Desktop\javapath\src\sort
InsertSort.java位置:
C:\Users\Administrator\Desktop\javapath\src\sort
.class字节码文件所在位置为:
SortTest.class位置:
C:\Users\Administrator\Desktop\javapath\classes\sort
InsertSort.class位置:
C:\Users\Administrator\Desktop\javapath\classes\sort
如下图:
代码如下:
package sort;
public class SortTest{
public static void main(String[] args){
int[] a=new int[]{3,2,5,1};
InsertSort is =new InsertSort();
is.InsertAll(a);
}
}package sort;
import java.util.Arrays;
public class InsertSort{
private int flag;
private int temp;
private int b;
public void InsertAll(int[] a){
for(temp=1;temp
flag;i--){
a[i]=a[i-1];
}
a[flag]=b;
}
}
System.out.println(Arrays.toString(a));
}
}
命令行javac命令如下图:
C:\Users\Administrator\Desktop\javapath>javac -cp ./classes -d ./classes ./src/sort/InsertSort.java
C:\Users\Administrator\Desktop\javapath>javac -cp ./classes -d ./classes ./src/sort/SortTest.java
如果直接编译SortTest.java类会报错,报错如下图:
必须要先编译InsertSort.java类,因为SortTest.java类中main方法要调用sort包下的InsertSort类,所以编译完InsertSort.java后在用-classpath命令指定字节文件InsertSort.class所在的包sort文件夹的位置,之后编译含有main方法的SortTest.java文件就可以编译通过了。
附java命令执行含包的字节文件方法:
两种方法如下图:
java后面要加的是完整的类名,当然也包括包名,即
包名.类名
三、用-sourcepath命令及@<文件名>命令实现多个类的javac编译
源文件为Hello.java、HelloTest.java及sourcelist.txt文件。
文件目录结构如下:
JavaPath-|
|-src-|
|
|-lee-|
|
|-Hello.java
|
|-HelloTest.java
|
|-sourcelist.java
|
|-classes-|
|-lee-|
|-Hello.class
|-HelloTest.java
源代码如下:
package lee;
public class Hello{
public static void main(String[] args){
System.out.println("Hello World!");
}
}package lee;
public class HelloTest{
public static void main(String[] args){
Hello h=new Hello();
}
}src/lee/Hello.java
src/lee/HelloTest.java
命令行窗口命令如下图所示: