java编译提示错误的类文件,类文件包含错误的类,请删除该文件或确保该文件位于正确的类路径子目录中

在一个目录中新建一个类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就不能放在同一个目录下面。


猜你喜欢

转载自blog.csdn.net/u013430672/article/details/45936465