A.java(保存在F:\java目录下);
package package_1;
class  A
{
void qq()
{
System.out.println("这个是package包中A类中的QQ方法输出的内容");
}
}命令提示符:F:\java> javac -d . A.java //成功B.java(保存在F:\java目录下);
import package_1;
class B() 
{
public static void main(String[] args) 
{
A a=new A();
a.qq();
}
}
命令提示符:F:\java> javac B.java //失败,请问到底是为什么啊?导入包不是这样导入的吗?

解决方案 »

  1.   

    加了*;也不行,提示错误为如下:
    A.java(保存在F:\java目录下);
    命令提示符:F:\java> javac B.java //失败,请问到底是为什么啊?导入包不是这样导入的吗?E:\java>javac B.java
    B.java:6: cannot access A
    bad class file: .\A.java
    file does not contain class A
    Please remove or make sure it appears in the correct subdirectory of the classpa
    th.
                    A a=new A();
                    ^
    1 errorE:\java>
      

  2.   

    请问一下improt包,还要加路径吗?
    现在的情况是:
    A.class 在e:\java\package_1的目录下.
    B.java在e:\java目录下
      

  3.   

    找到错误了,原来是访问属性的问题:A.class程序改了一下如下:
    但是还是不明白类有访问属性吗?书上不是说类只可以用public修改吗?
    类的访问属性默认不是public吗?下面的程序如果只修改qq方法的访问属性.
    而不修改A类的访问属性,同样提示错误.
    package package_1;
    public class  A
    {
    public void qq()
    {
    System.out.println("这个是package包中A类中的QQ方法输出的内容");
    }
    }
      

  4.   

    它找的是编译后的class文件,到包不需要加路径,
    命令行下编译可能要加路径,好久没用命令行编译了,都给忘了
      

  5.   

    java的类修饰符不一定非是public的,如果不写修饰符的话,默认的不是public,好像是 private的吧。