在一个目录中新建一个类A1,内容如下。
public class A1
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
同一个目录中新建一个类B1,内容如下
public class B1
{
public static void main(String[] args)
{
A1 aa = new A1();
System.out.println("Hello World!");
}
}
这样编辑javac A1.java和javac B1.java是没有任何问题的,当然这里也发现了另外一个有趣的现象,
就是如果A1没有编译,直接编译javac B1.java也是成功的(之前都以为要先编译A1的),也是成功的,
在目录下可以看到A1.class。
OK,我们看看另外新建的两个类
新建一个类A2.java
package cs;
public class A2
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
新建一个类B2.java
public class B2
{
public static void main(String[] args)
{
A2 aa = new A2();
System.out.println("Hello World!");
}
}
这个时候编译javac B2.java的时候就会提示如标题的问题,那我们怎么解决的。
网上度娘的告诉我是A2.java文件不能和B2.java文件放在同一个目录下
这样操作确实是OK了。
我的理解是A2引用了B2,并且不再同一个包下面,然后A2.java和B2.java就不能放在同一个目录下面。