scala导⼊java类_Scala导⼊
导⼊类型及其成员
要在包中使⽤声明,我们必须导⼊它们,就像在Java中⼀样。
Scala提供了其他选项,如下⾯导⼊Java类型的⽰例所⽰:
包是⼀个命名的代码模块。
Java和Scala惯例规定程序包名称是代码所有者的反向域名。
源⽂件中的第⼀个⾮注释⾏:package com.java2s.stuff
可以导⼊Scala包,以便可以在当前编译范围中引⽤它们。
以下语句导⼊l软件包的内容:l._
以下语句导⼊l软件包的内容:import transform._
我们可以从llection.mutable包中导⼊单个类和对象,例如HashMap:llection.mutable.HashMap
我们可以从单个包中导⼊多个类或对象,例如,从llection.immutable包中导⼊TreeMap和TreeSet:import
例⼦import java.awt._
import java.io.File
import java.io.File._
import java.util.{Map, HashMap}
我们可以在包中使⽤下划线_作为通配符导⼊所有类型。
我们还可以导⼊单个Scala或Java类型,如第⼆⾏所⽰。
Java使⽤“星号"字符*作为导⼊的通配符。
在Scala中,此字符被允许作为⽅法名称,因此使⽤_来避免歧义。
第三⾏导⼊java.io.File中的所有静态⽅法和字段。
等效的Java导⼊语句将是import static java.io.File。*;
最后,我们可以导⼊⼀个类或对象并重命名它。例如,您可以从scala.util.parsing.json包中导⼊JSON类/对象,并将其重命名为JsonParser:import scala.util.parsing.json.{JSON=> JsonParser}
import可以在任何代码块内部使⽤,导⼊将仅在该代码块的范围内有效。
例如,我们可以在类体中导⼊⼀些东西,如下⾯的代码所⽰:class Frog {
l._
//
}
例如,我们可以在类体中导⼊⼀些东西,如下⾯的代码所⽰:
这很像Java的静态导⼊。
组合局部范围导⼊和导⼊对象允许我们微调导⼊对象及其关联⽅法的位置。
注意
Scala没有导⼊静态构造,因为它像其他类型⼀样对待对象类型。
我们可以将import语句⼏乎放在任何地⽅,以将它们的可见性限制在需要它们的地⽅。
我们可以在导⼊时重命名类型,我们可以禁⽌不需要的类型的可见性:def stuffWithBigInteger() = { import java.math.BigInteger.{
ONE => _,
TEN,
ZERO => JAVAZERO }
println( "TEN: "+TEN )
println( "ZERO: "+JAVAZERO )
}
import语句
导⼊是相对的
Scala导⼊是相对的。
请注意以下导⼊的注释:llection.mutable._
import collection.immutable._ // Since "scala" is already imported
import _root_.llection.parallel._ // full path from real "root"

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。