Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我可以导入一个特定的类而不是它的Java包?_Java_Class_Import_Package - Fatal编程技术网

为什么我可以导入一个特定的类而不是它的Java包?

为什么我可以导入一个特定的类而不是它的Java包?,java,class,import,package,Java,Class,Import,Package,我是Java新手,因此很难理解“包”范式 我正在使用其他人的包Framework来构建我的程序 当我这样做时,一切正常: import Framework.Item1; import Framework.Item2; import Framework.Item3; 当我这样做时,没有任何效果: import Framework.*; 当我在控制台尝试使用javac.exe编译时失败,它在编译时停止。错误内容如下: error: cannot access Item1 bad class fi

我是Java新手,因此很难理解“包”范式

我正在使用其他人的包Framework来构建我的程序

当我这样做时,一切正常:

import Framework.Item1;
import Framework.Item2;
import Framework.Item3;
当我这样做时,没有任何效果:

import Framework.*;
当我在控制台尝试使用javac.exe编译时失败,它在编译时停止。错误内容如下:

error: cannot access Item1
bad class file: ...\Framework\Item1.class
class file contains wrong clsas: Framework.Item1
Please remove or make sure it appears in the correct subdirectory of the classpath
但是我已经检查过,双重检查过,三重检查过,四重检查过文件是否在正确的地方;此外,如果问题出在按特定类名导入时,它不会失败吗?在我决定在这件事上寻求帮助之前,我已经被难住了一段时间(

编辑:在尝试了许多简单和复杂的解决方案后,最终的答案是保存我所有的工作,清理项目并重新编译。然后一切都像魔术一样工作


如果有人能解释一下是什么导致了这样的情况,以便我将来能阻止它,我将不胜感激。

似乎在包和类之间存在命名冲突。可能有一些重构将旧的类文件遗留下来

如果
Framework
不是一个包,而是一个类,其中包含
Item1
作为其嵌套类,则会发生错误。另一种可能是,在编译时,您只是使用了错误的目录作为源代码根


在任何情况下,如果遵循Java命名约定,包将不会被称为
Framework
,而是
Framework
,并且不会出现这种情况。

包和类之间似乎存在命名冲突。可能存在一些重构,留下了旧的类文件

如果
Framework
不是一个包,而是一个类,其中包含
Item1
作为其嵌套类,则会发生错误。另一种可能是,在编译时,您只是使用了错误的目录作为源代码根


在任何情况下,如果遵循Java命名约定,包将不会被称为
Framework
,而是
Framework
,并且不会出现这种情况。

应该对您有用:试试
javac-cp.*.Java
有时候会发生一些神秘的事情,通常清理项目可以创造奇迹谢谢@ghoulfolk-在尝试了各种困难的解决方案后,它归结为这样简单的事情。我仍然不知道为什么,但只是删除了很多文件并从头开始重新编译,最终成功了。感谢您的建议!应该对您有用:试试
javac-cp.*.java
有时会发生神秘的事情,通常是在g清理项目可以创造奇迹谢谢@ghoulfolk-在尝试了各种困难的解决方案后,它归结为这么简单的事情。我仍然不知道为什么,但只是删除了很多文件并从头开始重新编译,最终成功了。谢谢你的建议!