Scala之函数式编程
函数式编程
1.scala中的函数并不是数学中的函数,这里的函数其实表示的是功能的封装,java中功能的封装叫做方法。
2.java中方法其实在scala中就是函数,但是声明在类中的函数称为方法。函数只在当前作用域有效,但是方法需要受到类的约束
3.因为函数其实就是功能的封装,也就意味着功能的名称不能重复,也没有重写,重载的概念。因为方法属于类,那么就可能存在方法的重载,重写。
函数的声明
def 函数名(参数列表):返回值类型={函数体}
函数名(参数)
object Scala06_Function {
def main(args: Array[String]): Unit = {
var a="zhangsan";
var b=a.substring(0,1).toUpperCase+a.substring(1);
println(b)
// 函数就是功能的封装,可以在任何地方声明
def test():Unit={
println("测试 function")
}
// 调用
test()
}
}
函数&方法
1.函数可以声明在任意的位置,方法只能声明在类中
2.如果函数名称和方法名称相同,那么默认情况下会调用函数,如果没有函数,才会调用方法。
3.方法和对象相关,对象是独立使用。如果同时存在同名的方法和函数时,想调用方法,可以使用this.方法名进行调用
函数的本质
1.函数的本质就是java中的方法
2.scala源码中,方法就是函数,编译后的字节码中,函数就是方法
3.函数编译成方法时,增加了关键字:private static final
4.函数编译成方法时,函数名会自动发生变化,为了避免和方法名冲突

本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/18176480

浙公网安备 33010602011771号