java指令和javac指令总结

假如在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

原文地址:https://www.cnblogs.com/mxw09/p/2007346.html