我正在学习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导入包。*。