我把几个自定义的类A,B,C放在同一个包下,用如下形式的语句:package mypackage;
A和B两个类都能顺利编译无误,因为这两个类都没有调用自定义的类。但是我在C类里调用了A和B这两个类,却无法编译通过,错误提示是无法识别标识A和标识B。于是我将三个类里的package mypackage;语句都删掉,当然,三个类仍放在同一个目录mypackage下,这时三个类都能顺利编译通过,我进行测试时C类也能顺利完成调用A,B两类的功能。而现在我必须要用package mypackage;语句把这三个类放在同一个包下,请问该怎么办?错误在哪里? 

解决方案 »

  1.   

    估计楼主没有用IDE
    楼主可能直接进到mypackage文件夹下编译了,
    试试到mypackage文件夹上一层,javac mypackage\C.java
      

  2.   

    好像不对,编译应该没问题的,运行的话只要java mypackage.C
      

  3.   

    呵呵,确实是因为我没有进到mypackage文件夹下去编译,我把三个类都用了javac mypackage\C.java形式的语句去编译就通过了,而且我还运行了也成功了,谢谢你啊!
      

  4.   

    楼主进到mypackage文件夹下然后再javac mypackage\C.java?编译的话直接进到包文件夹下直接javac C.java就可以了吧,运行的话退出包,然后java mypackage.C楼主怎么操作 的
      

  5.   

    编译第3个类时,假设你的目录是c:\mypackage,那就到c:\ javac -d . C.java
      

  6.   

    刚才说错了。我没有进到mypackage文件夹,我是在包文件夹外面用javac mypackage\C.java命令的,这样就编译成功了。