Scala简要总结二

1. 块语句的特点 ?

块语句,最后一个值或表达式作为块语句的返回值。

2. 函数的几种写法 ?

无参 无返回值
无参 有返回值
有参 无返回值
有参 有返回值
多参 无返回值

3. 函数的参数

可变参数  参数的个数不一定
默认参数  创建函数的时候参数指定默认值,   当调用的时候可以传值,不传值使用的是默认值
带名参数  传递参数的时候可以不按照参数的顺序,  但是需要带参数的名称

4. 函数至简原则

能省就省
1:return可以省略,scala会使用函数体最后一行代码作为返回值
2:返回值如果能推断出来,那么可以省略
3:如果函数只有一行代码,可以省略花括号
4:如果函数无参,则可以省略小括号.若定义函数时省略小括号,则调用该函数时,
  也需要省略小括号;若定义函数未省略,则调用时,可省可不省.
5:如果函数明确声明Unit,那么即使函数体中使用return关键字也不起作用
6:Scala如果想要自动推断无返回值,则可以省略等号
7:如果不关心函数名,只关心逻辑处理,那么函数名(def)可以省略
8:如果函数明确声明return关键字,那么函数返回就不能自行推断了,需要声明返回值类型

5. 什么是闭包 ?

就是一个函数和与其相关的引用环境(变量)组合的一个整体(实体);
函数引入外部变量。

6. 什么是柯里化 ?

就是将一个接受多个参数的函数转化成一个接受一个的函数过程,可以简单的理解为一个特殊的参数列表声明方式。

7. 什么是lazy ?

当函数返回值被声明为lazy时,函数的执行被推迟,直到我们首次对此取值,该函数才会执行.这种函数我们称之为惰性函数;
当创建大的变量, 或者执行比较耗时的程序时 (比如读写数据)   适合使用lazy。

8. scala默认导入分别是?

import java.lang._
import scala._
import scala.Predef._

9. scala 的访问修饰符,作用域 ?

默认访问权限为public,但是scala中无public关键字;
private私有权限,只在本类和伴生对象中可用;
private[this]  修饰的只能在本类(限制的类中) private[Stu1]  可以进行访问;
protected受保护权限,scala中受保护权限比java中更严格,修饰的只能在本类, 伴生对象  子类  进行访问,同包无法访问;
protected[this] 修饰的只能在本类(限制的类中)子类  可以进行访问;
prviate[包名]增加包访问权限,包名下的其他类也可以使用。

猜你喜欢

转载自blog.csdn.net/lkm0522/article/details/109057504