在scala中,一切都是对象。其中变量是程序的基本组成单位
scala中变量的声明是使用 var和val。var 修饰的对象引用可以改变,val 修饰的则不可改变,但对象的状态却是可以改变的。
下面演示具体使用:
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中一切皆对象,我们知道java是面向对象编程的,但是java中的基本类型,比如int,是不是基本类型的。 scala的基本类型也是对象
下面是Int的底层java编译的 scala Int
类型的底层代码
注意:
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进行包装的,附加了很多方法。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有