Scala常用代码
踩坑
一、Scala安装
Scala之完美解决IntelliJ IDEA安装scala插件失败,install安装后不成功,项目中无法新建一个Scala类_上火不找我的博客-CSDN博客
回到之前的问题:“scala插件失败,install安装后不成功,项目中无法新建一个Scala类”,这就是因为没有选择好Java的jdk路径和Scala的路径,还有一个重要的原因是因为idea的版本太老,需要新一代的idea否则的话,根本没办法进行在线安装Scala插件。
Scala基础
六大特征
1.seamless java interop
和java语言是无缝整合运行在JVM上的
可以与java进行方法的互相调用
2.type inference 类型的自动推断
var 定义变量
val 定义常量
3.concurrency& distribution 并行和分布式
底层有一个actor通信模型,解决了死锁的问题,底层利用队列的方式,解决节点之间的集群
4、traits特质和特性
将java中个接口、抽象类等进行整合
5.pattern matching 模式匹配
类似java中的switch…case…scala关键字:match匹配
6.higher-order functioins 高阶函数
体现scala面向函数的特性的一种方式,“一切皆函数”
Scala语言的注意事项:
- 建议类名首字母大写 ,方法首字母小写,类和方法命名建议符合驼峰命名法。
- scala 中的object是单例对象,相当于java中的工具类,可以看成是定义静态的方法的类。object不可以传参数。另:Trait不可以传参数
- scala中的class类默认可以传参数,默认的传参数就是默认的构造函数。
重写构造函数的时候,必须要调用默认的构造函数。 - class 类属性自带getter ,setter方法。
- 使用object时,不用new,使用class时要new ,并且new的时候,class中除了方法不执行,其他都执行。
- 如果在同一个文件中,object对象和class类的名称相同,则这个对象就是这个类的伴生对象,这个类就是这个对象的伴生类。可以互相访问私有变量。
Scala 注释
Scala 类似 Java 支持单行和多行注释。多行注释可以嵌套,但必须正确嵌套,一个注释开始符号对应一个结束符号。注释在 Scala 编译中会被忽略,实例如下:
object HelloWorld {
/* 这是一个 Scala 程序
* 这是一行注释
* 这里演示了多行注释
*/
def main(args: Array[String]) {
// 输出 Hello World
// 这是一个单行注释
println("Hello, world!")
}
}
引用
Scala 使用 import 关键字引用包。
import java.awt.Color // 引入Color
import java.awt._ // 引入包内所有成员
def handler(evt: event.ActionEvent) { // java.awt.event.ActionEvent
... // 因为引入了java.awt,所以可以省去前面的部分
}
import语句可以出现在任何地方,而不是只能在文件顶部。import的效果从开始延伸到语句块的结束。这可以大幅减少名称冲突的可能性。
如果想要引入包中的几个成员,可以使用selector(选取器):
import java.awt.{Color, Font}
// 重命名成员
import java.util.{HashMap => JavaHashMap}
// 隐藏成员
import java.util.{HashMap => _, _} // 引入了util包的所有成员,但是HashMap被隐藏了