我是scala的新手,这可能来自java世界..
在scala中你可以这样做:
import packageName.className
或者,如果您希望导入该包中的所有类
import packageName._
这里发生了什么?什么时候编译解决方案? 我假设在我自己的课程中,每个包可能包含10-20个类,所以没有效果,但是当我这样做时会发生什么: import play.api ._
由于
答案 0 :(得分:4)
两个问题都没有。
由于Scala来自Java世界,导入规则是相同的。
有两种导入类型:
import play.api.Controller
称为单一类型导入
import play.api._
被称为按需导入
这些导入都是被动的,即它们仅在需要时(实际使用类型时)加载信息,而不是仅在导入类型时加载信息。 Imports告诉编译器在需要时查找类型的位置。
因此,导入整个包而不是导入单个类型不会产生任何开销。
还有一件事要看,Scala或Java API - 有很多具有相同名称的类。
想象一下,你需要使用play.Logger
和play.api.Controller
并写下这样的导入:
import play._
import play.api._
现在,Logger
和Controller
类型都会发生冲突,因为它们都存在于两个包中。导入特定的类将使您免于此问题。