`

Java编译

    博客分类:
  • Java
阅读更多
主要介绍java和javac命令的使用,
分带package,不带package,同一个包下的两个文件

1.不带package
Hello.java

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

c:/java/hello/Hello.java
编译
c:/java/hello>javac Hello.java
生成class文件
c:/java/hello/Hello.class
运行
c:/java/hello>java Hello

2.带package的情况
源文件应按包目录放好,这绝对是个好习惯
Hello.java

package my;//注意该句
public class Hello
{
   public static void main(String[] args){
   System.out.println("hello");
  }
}

c:/java/hello/my/Hello.java
编译
c:/java/hello/my>javac Hello.java
生成class文件
c:/java/hello/my/Hello.class
运行
c:/java/hello>java my.Hello


3.同一个包下的两个文件
C:/java/hello/my/a.java  package wyr;
C:/java/hello/my/b.java  package wyr;
a引用b
编译时:
C:/java/hello/my>javac a.java会报错,因为会在当前路径下(my下)按照a的包路径(即my\wyr)下找b
应该将b放在C:/java/hello/my/wyr/b.java
生成class文件
C:/java/hello/my/a.class
C:/java/hello/my/wyr/b.class
运行时须将a.class挪到my/wyr下
C:/java/hello/my>java a


1和2是转来的,3是自己实验的结果,但是说实话感觉还是解释的不够透彻,也不能保证解释的就对,希望有大牛更深入的解释一下,如果有错请指出!
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics