一、初识类和对象
Scala 的类与 Java 的类具有非常多的相似性,示例以下:
// 1. 在 scala 中,类不须要用 public 声明,所有的类都具有公共的可见性
class Person {
// 2. 声明私有变量,用 var 润饰的变量默许具有 getter/setter 属性
private var age = 0
// 3.如果声明的变量不须要进行初始赋值,此时 Scala 就没法进行类型推断,所以须要显式指明类型
private var name: String = _
// 4. 定义方法,应指明传参类型。返回值类型不是必需的,Scala 可以主动推断出来,但是为了便利调用者,建议指明
def growUp(step: Int): Unit = {
age += step
}
// 5.对改值器方法 (即转变对象状况的方法),即便不须要传入参数,也建议在声明中包括 ()
def growUpFix(): Unit = {
age += 10
}
// 6.对取值器方法 (即不会转变对象状况的方法),没必要在声明中包括 ()
def currentAge: Int = {
age
}
/**
* 7.不建议应用 return 症结字,默许方法中最后一行代码的盘算成果为返回值
* 如果方法很简短,乃至可以写在同一行中
*/
def getName: String = name
}
// 伴生对象
object Person {
def main(args: Array[String]): Unit = {
// 8.创立类的实例
val counter = new Person()
// 9.用 var 润饰的变量默许具有 getter/setter 属性,可以直接对其进行赋值
counter.age = 12
counter.growUp(8)
counter.growUpFix()
// 10.用 var 润饰的变量默许具有 getter/setter 属性,可以直接对其进行取值,输出: 30
println(counter.age)
// 输出: 30
println(counter.currentAge)
// 输出: null
println(counter.getName)
}
}// 1. 在