class javac java作用_回顾:JAVAC和JAVA怎么用

尤其是在有package、import和import *的情况下,各种混乱,IDE用久了,命令行是硬伤,有必要复习一下:

假设有 g:/src/simple/Foo.java

最好的practice是将编译后的class文件全部集中放到bin目录下,bin和src在同一目录,先把bin创建好,g:/bin

注意这里有import *

1 packagesimple;2

3 import net.mindview.util.*;4

5 public classFoo {6 public static voidmain(String[] args) {7 Print.print("Foo imports net.mindview.util.*");8 }9 }

还有g:/src/net/mindview/util/Print.java

1 packagenet.mindview.util;2 import java.io.*;3

4 public classPrint {5 //Print with a newline:

6 public static voidprint(Object obj) {7 System.out.println(obj);8 }9 //Print a newline by itself:

10 public static voidprint() {11 System.out.println();12 }13 //Print with no line break:

14 public static voidprintnb(Object obj) {15 System.out.print(obj);16 }17 //The new Java SE5 printf() (from C):

18 public staticPrintStream19 printf(String format, Object... args) {20 returnSystem.out.printf(format, args);21 }22 }

cmd切换到src目录,怎么编译运行Foo?

就不谈先前在尝试的过程中的错误了,先把正确的过程写到下面,以供举一反三:

因为Foo.java中使用了import ...*,所以要先编译Print.java,命令行如下:

javac -d ../bin net/mindview/util/Print.java                             /* “..” 表示上一级目录 */

然后编译Foo.java:

javac -d ../bin simple/*.java    /* 虽然simple目录中只有Foo.java,但是Foo中使用了import *,所以必须使用javac ... *.java 至于原因,应该是多文件编译的要求 */

然后运行:

java -cp ../bin simple.Foo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值