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.函数编译成方法时,函数名会自动发生变化,为了避免和方法名冲突

posted @ 2024-05-07 09:10  King-DA  阅读(7)  评论(0)    收藏  举报