Scala 来源于 "scalable language",即可伸缩的语言。运行在 JVM 之上,可以与 Java 类库无缝协作。Scala 是一门综合了面向对象和函数式编程概念的静态类型的编程语言。
下面我们先宏观的数一数 Scala 的那些特性
1)首先Scala 一个集美貌与才华与一身的美男子,它既是 是面向对象的又是函数式的:
①Scala是面向对象的:不是类似 Java 的半吊子面向对象,Scala 是纯面向对象。每个值都是对象,每个操作都是方法调用。举个例子:1 + 2中的 + 号实际上是在调用 Int 类中定义的名为 + 的方法
②Scala 是函数式的:函数是一等公民,函数可以作为参数传递给其他函数,函数可以作为返回值返回,函数可以赋值给变量
2)Scala 是 高配版的 Java
① Scala 构建在 JVM 之上,可以与 Java 无缝互调,在 Java 之上封装了很多强大的功能,以及高级特性
3)短小精悍
直接上代码来对比一下 Java 和 Scala
//Java
class Student{
private String name;
private int age;
public Student(String name, int age){
this.name = name;
this.age = age;
}
}
//Scala
class Student(name: String, age: Int)
4)此静态非彼静态
Scala 是静态的,但是 Scala 把静态玩出了花,强大的类型推断能力以及模式匹配功能使得 Scala 看起来非常想动态编程语言