-
撒科打诨
是的,是的。理想情况下,包名应该是全局唯一的,以避免命名冲突。使用默认包会破坏此约定。从默认包导入类也是不可能的。为什么没有命名的包存在,如果这是一个糟糕的想法?从…JLS§7.4.2:Java平台提供未命名的包,主要是为了在开发小型或临时应用程序或刚开始开发时提供方便。
-
杨__羊羊
有许多不同层次的问题:无法从未导入的类导入默认包中的类如果尝试解决多个工件中的默认包,则会遇到类加载问题。您不能再像通常那样使用默认的和受保护的范围了。在您的代码和其他代码之间没有明显的区别
-
长风秋雁
是的。正如其他答案所述,您不能从默认包加载类。见答案:如何从默认包导入类如何访问默认包中的java类?但是,log4j要求配置位于默认包中。这是唯一合理的东西保持在那里。编辑:正如SeanPatrickFloyd和Michael在评论中指出的那样,您可以将任何配置文件放入默认包中。感谢你们两位向我指出了这一点。