Scala 基础--对比 Java

目录

基础语法

Scala 数据类型

多行字符串的表示方法

Null 值

Scala 变量

变量类型声明

Scala 访问修饰符


基础语法

Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的。

如果想要引入包中的几个成员,可以使用selector(选取器):

import java.awt.{Color, Font}
// 重命名成员
import java.util.{HashMap => JavaHashMap}
// 隐藏成员
import java.util.{HashMap => _, _} // 引入了util包的所有成员,但是HashMap被隐藏了

Scala 数据类型

几个与java不同的数据类型:

Unit

表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。

Null

null 或空引用

Nothing

Nothing类型在Scala的类层级的最底端;它是任何其他类型的子类型。

Any

Any是所有其他类的超类

AnyRef

AnyRef类是Scala里所有引用类(reference class)的基类

Scala中的数据类型都是对象,也就是说Scala没有Java中的原生对象

多行字符串的表示方法

多行字符串用三个双引号来表示分隔符,格式为:""" ... """。

val foo = """这个是一个多行注释
hello
Word
OK"""

Null 值

空值是 scala.Null 类型。

Scala.Null和scala.Nothing是用统一的方式处理Scala面向对象类型系统的某些"边界情况"的特殊类型。

Null类是null引用对象的类型,它是每个引用类(继承自AnyRef的类)的子类。Null不兼容值类型。

Scala 变量

在 Scala 中,使用关键词 "var" 声明变量,使用关键词 "val" 声明常量。被 "val" 声明的常量是不可以修改的。

变量类型声明

变量的类型在变量名之后等号之前声明。定义变量的类型的语法格式如下:

var VariableName : DataType [=  Initial Value]

或

val VariableName : DataType [=  Initial Value]

Scala 访问修饰符

Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。

如果没有指定访问修饰符,默认情况下,Scala 对象的访问级别都是 public。

Scala 中的 private 限定符,比 Java 更严格,在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章