在 Java、Scala 或一般的任何 JVM 语言中,有一组默认导入的包。例如,Java 会自动导入 java.lang
,您无需在 Java 代码文件中执行此操作。
现在我不知道哪个组件负责这个(编译器?JVM?),但是有什么方法可以默认导入额外的包甚至类吗?
假设您有一个包,定义了您在整个项目中使用的一组实用函数(示例可以是 Scala 中的 scala.math
),如果您能够跳过导入,那就太好了在每个与数学相关的类(class)中。
最佳答案
从 2.8 开始,Scala 具有包对象,其内容会自动导入到包的每个文件中。在包的顶层目录(例如,x/y/z/mypackage
)创建一个名为 package.scala 的文件,并将其放入
package x.y.z
package object mypackage {
...
}
然后包对象中的任何定义都会自动导入(即不需要导入语句)到包 x.y.z.mypackage 中的任何文件
您可以查看 Scala 源代码——执行 find dir -name package.scala——有很多源代码,最顶层定义了 scala 包本身的隐式导入,它会自动导入到每个scala 源文件。
关于java - 添加默认包导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5026284/