首页 > 解决方案 > Scala 中的一切都是对象吗?

问题描述

字面量是 Scala 中的对象,因此如果将其存储到变量中,例如 val x: Int = 5; 这也会使它成为一个对象吗?出于某种原因,一切似乎都是 Scala 中的对象。

标签: scala

解决方案


字面量是 Scala 中的一个对象,

出色地。“文字”主要是源代码的属性。因此,“成为一个对象”的想法并不真正适用。

正确的是,每个文字都计算为一个对象。

因此,源文件中的文字1并不是真正的对象。它只是源代码的一部分。但它评估为一个对象,即表示整数1scala.Int的数学思想的类的实例。

因此,如果您将其存储到变量中,例如 val x: Int = 5; 这也会使它成为一个对象吗?

你说的“这个”是什么意思?

x不是一个对象,它是一个变量。在 Scala 中,与几乎所有其他语言一样,变量本身不是对象,而是对象的名称。(从技术上讲,变量引用了一个对象。)

Int也不是一个对象,它是一个类型。类型不是对象。然而,一个类型和一个术语可能具有相同的名称,其工作原理正是因为类型不是对象,因此永远不会混淆您是在谈论类型还是术语.

现在,5在这个表达式中是一个对象,或者更准确地说,正如我们在上面看到的,它是一个整数文字,其计算结果为一个对象。


推荐阅读