假如在D:\Java存放了两个java源文件:MyJava.java,Fighting.java
MyJava.java如下:
public class MyJava {
public static void main(String[] arr)
{
System.out.println("MyJava");
}
}
Fighting.java如下:
package mxw.ly;
public class Fighting {
public static void main(String[] arr)
{
System.out.println("学会使用java和javac命令");
}
}
javac命令
可以这样编译:
1. D:\
cd java
javac *.java
2. javac -sourcepath D:\java D:\Java\*.java
3. javac D:\Java\MyJava.java (后缀名区分大小写,如果输入javac D:\Java\MyJava.Java,编译就不能通过)
还可以指定编译以后文件的输出目录:javac -sourcepath D:\java -d D:\output D:\Java\*.java
(使用-d参数指定编译以后的输出目录后,会自动将.java源文件里的包编译成对应的文件夹)
java命令
1.C:\Documents and Settings\Administrator>java -classpath D:\java; MyJava
2.D:\Java>java MyJava
Java指令分类名大小写,并且不需要.class的后缀名
在D:\Java有两个java源文件:
A.java:
public class A{
public static void Eat()
{
System.out.println("A.Eat");
}
}
B.java:
public class B extends A{
public static void main(String[] arr)
{
B b=new B();
b.Fun();
}
public void Fun()
{
super.Eat();
}
}
首先编译:
C:\Documents and Settings\Administrator>javac D:\Java\B.java
会在D:\Java生成A.class和B.class两个文件
然后执行:java -classpath D:\java; B(如果在系统环境变量classpath里指定了D:\java,可以直接输入java B)
控制台输出 A.Eat
将A.java放入D:\Java\import文件夹
首先编译:C:\Documents and Settings\Administrator>javac D:\Java\B.java
会报错,因为A.java已经不跟B.java在同一目录了
换个命令编译:C:\Documents and Settings\Administrator>javac -classpath D:\java\Import; D:\Java\B.java
编译成功,发现在D:\Java生成B.class,在D:\Java\import生成A.class
然后执行:C:\Documents and Settings\Administrator>java -classpath D:\java; B
会报错,因为A.Class不跟B.class在同一目录
换个命令执行:C:\Documents and Settings\Administrator>java -classpath D:\java;D:\java\import; B
执行成功,输出A.Eat
如果系统变量classpath的值为D:\Java;D:\java\import; 可以在控制台直接输入下面命令:java B
执行成功,输出A.Eat