特质
Scala的trait 和Java 的Interface相比,可以有方法的实现。Scala的Trait支持类和Singleton对象和多个Trait混合(使用来自这些Trait中的 方法,而不时不违反单一继承的原则)。
Scala为Singleton对象的main定义了一个App trait类型,因此上面的例子可以简化为:
HelloWorld.scala object HelloWorld extends App { println("Hello World!"); }
这段代码就不能作为脚本运行,Scala的脚本要求代码最后以表达式结束。因此运行这段代码,需要先编译这段代码,然后再运行。
// 第一次直接运行,无任何输出 G:\Hadoop\scala-SDK\source>scala HelloWorld.scala // 进行编译 G:\Hadoop\scala-SDK\source>scalac HelloWorld.scala // 再次运行 G:\Hadoop\scala-SDK\source>scala HelloWorld Hello World!
注意: Scala提供了一个快速编译代码的辅助命令fsc (fast scala compliler) ,使用这个命令,只在第一次使用fsc时启动JVM,之后fsc在后台运行,这样就避免每次使用scalac时都要载入相关库文件,从而提高编译速度。
多重继承
特质使用
特质构造
特质应用
本文出自 “鲁春利的工作笔记” 博客,请务必保留此出处http://luchunli.blog.51cto.com/2368057/1705025
原文地址:http://luchunli.blog.51cto.com/2368057/1705025