关于命令提示符下编译和运行Java文件的小东西

    在E盘下新建一个文件夹a,a下有两个文件夹b和c。目录结构为:

            a---

                    --b

                    --c

         在b目录下建立java文件B.java,其代码如下:

package b;
import c.C;
public class B{
 public static void main(String args[]){
               Cc = new C();
               c.disp();
 
 }
}

    在c目录下,新建java文件C.java,其代码如下:

package c;
public class C{
 public void disp(){
               System.out.println("hello~");
 }
}

    现在如果我们要在命令提示符下利用javac和java命令进行编译和运行:

首先,进入到a-->b目录下,输入javac B.java,会出现如下错误:

可以看到缺少关于C类的信息,会不会是因为C.java没有编译的原因呢?因为在B类中引用了C类的信息,所以我们先把C.java编译了,进入到a-->c目录,输入javac C.java,得到如下信息:

可见编译通过了,在返回到b目录下,重新输入javac B.java命令,得到:

还是不可以,现在想一下,由于我们是在b目录下进行执行的javac命令,而b目录下是没有关于C类的信息的,我们应该返回到B类的上层目录进行编译才对,所以进入a目录下,重新执行命令,得到:

还是有错误,这是因为javac命令不识别这样的带有包标注的b.B.java参数,我们改变方式:

可见,这回是编译通过了,点号表示当前目录,加上b目录,就可以定位到B.java了,而且可以自动关联到C类,捎带着把C先编译了。

现在运行一下,依然在a目录下,输入java .\b\B 得到:

现在又找不到类了,看来是输入的有问题,无法定位到B类。现在改变输入方式,去掉.\b,因为这个时候需要带着B的包名才可以,记得此时B类已经编译结束了,所有的信息都在B的class文件中了,输入javab.B,得到:

这回成功了!

可见,在javac命令执行的时候,需要到类的父目录去运行,同样,java命令也是必须到类的根目录去运行,这样才能把其他引用到的或者相关的类包含进来,在运行java命令的时候还要注意不要忘记类的包名~

写完收工,饭去~

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值