scala变量

2020-05-18 16:25:55 浏览数 (1)

在scala中,一切都是对象。其中变量是程序的基本组成单位

变量声明

scala中变量的声明是使用 var和val。var 修饰的对象引用可以改变,val 修饰的则不可改变,但对象的状态却是可以改变的。

下面演示具体使用:

代码语言:javascript复制
object Var {
  def main(args: Array[String]): Unit = {
    val i: Int = 6
    // i = 7 编译不通过

    var j: Int = 7
    j = 7

    println(i)
    println(j)
  }
}

scala中一切皆对象

scala中一切皆对象,我们知道java是面向对象编程的,但是java中的基本类型,比如int,是不是基本类型的。 scala的基本类型也是对象

下面是Int的底层java编译的 scala Int类型的底层代码

注意:

代码语言:javascript复制
public final class Int$ implements AnyValCompanion {}

public abstract class Int {
   public static double int2double(int var0) {
      return Int$.MODULE$.int2double(var0);
   }
}

后面会介绍很多scala生成java代码中,都有两个类型, 一个Int这种,一个是 Int

`后缀的。这种方式实现完全面向对象,将类和对象概念完全分开。 后面的object和class关键字也会加深这个概念。

我下面抛砖引玉一下, scala中Int是对java的int,Integer进行包装的,附加了很多方法。

0 人点赞