类和对象

类、成员、方法

1
2
3
4
5
6
7
class MyFirstClass {
var x = 0 // 可变成员变量
val v = 1 // 不可变成员变量
def addNum(num: Int): Unit = {
x += num
}
}

这样就可以创建对象:val m = new MyFirstClass

这里没有指定访问修饰符,表示默认public的。

注意:Scala方法参数的一个重要特征是它们都是val而非var的,这点其实很重要,可以不用考虑是否被重新赋值过。

单例对象

Scala比Java更面向对象的一点是Scala不允许有静态成员。针对这样的场景,Scala的解决方案是提供了单例对象(object)。

objectclass同名时,互相称为伴生对象和伴生类。而这两者必须定义在同一个源码文件中,且他们之间可以访问互相的私有成员。

Scala为每个源码文件,都隐式地引入了java.langscala包的成员,以及名为Predef的单例对象中的所有成员,建议读者可以大致阅读下Predef中内容。

小鹏 wechat
公众号:数据Man
0%