Scala构造函数参数带val和不带val的区别
class Person(name: String, age: Int) 类似Java中的
class Person {
public Person(String name, int age) {
}
}
这种情况下name,age只是构造方法的参数 属于局部变量
class Person(var name: String, var age: Int) // also we can use 'val' 类似java中的
class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
这种情况下name,age不仅是构造方法的参数 也是成员变量
class Test(name: String){
def test(): Unit ={
println(name)
}
}
这种情况下name由构造方法的参数 升级为 成员变量(也就是说当有其他方法用到构造方法参数时,构造方法参数由局部变量升级为成员变量!)
浙公网安备 33010602011771号