scala的一大优点就是可以和java无缝交互。
你可以使用java.long包下的所有类,因为在scala中该包是默认自动导入的。但是其他的包你需要自己显示的导入。
例如:在scala中操作java中的常用的工具类,Date ,DateFormat。
import java.util.{Locale,Date}
import java.text.DateFormat._
object DateDemo extends App {
val date = new Date()
val df = getDateInstance(LONG, Locale.SIMPLIFIED_CHINESE)
val str = "hello scala"
println(str.isEmpty) //默认导入java.lang包
println(date)
println(df.format(date))
}
代码中首行是import 语句,和 java 中的用法十分相似而又有点不同,scala 中的 import 语句确更加强大,例如导某个包下的两个类,可以想上面代码中那样写,不必像java那样写成2行。
import java.util.{Locale,Date}
如果需要导入某个包下的所有类,可以写成这样:
import java.text.DateFormat._
注意这里用的是 _ ,而不是 * ,在java中我们都是用 * 的。(*是scala的一个有效标识符)
scala不仅可以调用java的工具类,还可以继承和实现java的类和接口。
class A extends Runnable {
override def run() {
println("class A implements Runnable of java interface")
}
}
object ExtendsAndImplementDemo extends App {
val a = new A
var thread = new Thread(a)
thread.start();
}