导入包中的java错误和类名歧义

时间:2018-04-08 09:28:11

标签: java import package packages

我正在学习java中的包,但我遇到了一些错误。

我有三个java文件......

首先:ClassAA.java -

package Mypack;
public class ClassBB{
public ClassBB()
{
    System.out.println("class B's constructor is called.");
}
public void testB()
{
    System.out.println("class B's methos is called");
}
}

第二名:ClassBB.java -

import Mypack.*;
class PackageDemo
{
public static void main(String args[])
{
    ClassAA a1 = new ClassAA();
    a1.testA();
    ClassBB b1 = new ClassBB();
    b1.testB();
}
}

第三个是主类PackageDemo.java -

PackageDemo.java:6: error: cannot access ClassAA
            ClassAA a1 = new ClassAA();
            ^
bad source file: .\ClassAA.java
file does not contain class ClassAA
Please remove or make sure it appears in the correct subdirectory of the sourcepath.
1 error

现在我想在主类中使用导入Mypack。*导入Mypack包,但是显示错误 -

 error: class ClassAA is public, should be declared in a file named ClassAA.java
public class ClassAA{
   ^
1 error

我找到了两个解决这个问题的方法。

第一个 -

将ClassAA.java和ClassBB.java文件放在Mypack包中。如果我这样做是有效的,但我不认为java强迫我们这样做(我不确定)。

第二个(我在stackoverflow上找到了这个解决方案) -

重命名ClassAA.java和ClassBB.java文件,因为java编译器与名称混淆。 (这就是为什么它会给出错误的错误文件等) 但如果我重命名这两个文件,它会向我显示另一个错误。

{{1}}

所以现在该怎么办请帮助我。我想使用import导入包。*。

0 个答案:

没有答案