Java 从默认包导入类

Java 从默认包导入类,java,netbeans,netbeans-7,Java,Netbeans,Netbeans 7,我已经读过了,在发布我的问题之前 我的问题略有不同 我是java的初学者,我有一个jar文件需要在我的项目中使用,我相信它叫做库。 我使用importjar/folder选项将它导入到我的netbean库文件夹中,我可以看到库的内容。不幸的是,我需要导入的类是在默认包下,并使用import-reareat;重排是类的名称不起作用 为了理解如何使用这个类,我反编译了一个类文件,该类文件正在导入完全相同的类,令人惊讶的是,它使用了import-reareat;导入该类 我知道我不能从默认包导入类。我

我已经读过了,在发布我的问题之前

我的问题略有不同

我是java的初学者,我有一个jar文件需要在我的项目中使用,我相信它叫做库。 我使用importjar/folder选项将它导入到我的netbean库文件夹中,我可以看到库的内容。不幸的是,我需要导入的类是在默认包下,并使用import-reareat;重排是类的名称不起作用

为了理解如何使用这个类,我反编译了一个类文件,该类文件正在导入完全相同的类,令人惊讶的是,它使用了import-reareat;导入该类

我知道我不能从默认包导入类。我的示例类也没有使用反射

我做错了什么,如何导入这个类?
我还知道库jar文件和我的示例类都是用java 1.6编译的,它们没有使用允许这种导入的1.3.x

,从这些问题中可以看出,默认包中的类无法导入!如果您知道默认包中的类无法导入,为什么要尝试导入?为什么要将类放在默认包中?你们为什么不尊重命名惯例,以大写字母开头。最佳实践的存在是有原因的。不遵循它们总是会导致问题。@JBNizet,谢谢你的建议!我在等答案!我相信你们并没有正确地阅读我的问题,我并没有把类放在默认包中,它就在那个里,不知怎么的,它是从那个里被使用的,除非我犯了一个错误。对于命名约定,我没有给包命名,我正在尝试使用它。如果你想责骂做这件事的人,我可以告诉你他的名字和地址,这样你就可以去他的家里,做任何你想对他做的事@BobSort:没必要那样接受。这家伙犯了一个大错误,将一个可重用类(库的一部分)放入默认包中。他做错了什么事。你没有做错什么。好的如果你认识这个人,请他重构代码并发布他的库的另一个版本。就这么简单。阅读你自己的问题。它的字面意思是:我知道我不能从默认包中导入类,那么我如何才能导入这个类(它在默认包中)。所以写下你自己问题的答案:你不能。就是这么简单。开发该组件的公司给了我16周的估计修复时间,我不能等那么久。我自己找到了一个肮脏的解决办法。我重新编译了他们的类,并将它们移动到一个命名的包中,直到他们向我发送修复。幸运的是,代码运行良好,我的问题得到了解决。我想我可以把我的代码放在他们的包中,它也可以工作,但我没有尝试。