在两个不同的java文件中存在相同的类名问题

在两个不同的java文件中存在相同的类名问题,java,Java,我有两个名为OverloadCons.java和OverloadCons2.java的java文件,每个文件都包含两个类。两个文件中主方法名为OverloadCons/OverloadCons2的一个类和我编译的文件中的另一个类都名为Box,它工作得很好,但是当两个文件都包含名为Box的相同类(不包含主方法)时,它如何工作因为一个是OverloadCons.Box而另一个是OverloadCons2.Box因为一个是OverloadCons.Box而另一个是OverloadCons2.Box这基

我有两个名为OverloadCons.java和OverloadCons2.java的java文件,每个文件都包含两个类。两个文件中主方法名为OverloadCons/OverloadCons2的一个类和我编译的文件中的另一个类都名为Box,它工作得很好,但是当两个文件都包含名为Box的相同类(不包含主方法)时,它如何工作

因为一个是
OverloadCons.Box
而另一个是
OverloadCons2.Box

因为一个是
OverloadCons.Box
而另一个是
OverloadCons2.Box

这基本上是出于相同的原因,您可以有多个类,每个类都具有相同的函数(例如toString()或类似的函数)


因为它们有不同的外部类,所以没有重叠,这与您可以有多个类,每个类都有相同的函数(例如toString()等)的原因基本相同


因为它们有不同的外部类,所以编译这两个文件时不会有重叠,它必须是这样的(即,只有一个box.class文件)

现在,这里的Box.class文件包含已编译的最新文件(Overloadingcons.java或Overloadingcons2.java)的代码

例如,如果您最近编译了Overloadingcons2.java并尝试运行Overloadingcons.java,那么将执行在Overloadingcons2.java中编写的类框


因此,如果出现这种情况,则必须同时编译和执行该文件,否则它不会每次都正常工作。

编译这两个文件时,它必须是这样的(即,只有一个box.class文件)

现在,这里的Box.class文件包含已编译的最新文件(Overloadingcons.java或Overloadingcons2.java)的代码

例如,如果您最近编译了Overloadingcons2.java并尝试运行Overloadingcons.java,那么将执行在Overloadingcons2.java中编写的类框


因此,如果您遇到这种情况,那么您必须一起编译和执行该文件,否则它不会每次都正常工作。

包是什么?从问题来看,它似乎工作正常,询问者只是想知道why@LuiggiMendoza“而且效果很好”这个
Box
类是在你的
OverloadCons
/
OverloadCons2
类内部还是外部?@LuiggiMendoza:“我有两个名为OverloadCons.java和OverloadCons2.java的java文件,两个文件分别包含两个类[…],另一个类名为Box“包是什么?从这个问题来看,它运行得很好,询问者只是想知道why@LuiggiMendoza“它工作得很好”这个
Box
类是在你的
OverloadCons
/
OverloadCons2
类内部还是外部?@luigimendoza:“我有两个名为OverloadCons.java和OverloadCons2.java的java文件,每个文件都包含两个类[…]另一个类名为“Box”