以下是一個簡單的scala
類定義,在Person類中定義了2個構造函數。構造函數使用空值作爲參數
Person.scala:
// class that has field and method,
class Person(var name:String, var age:Short) {
def this() {
this("", 0);
}
def this(name:String) {
this(name, 0);
}
def hi() = printf("hi, I am %s!\n", name)
}
// var nobody = new Person();
var eric = new Person("Eric", 12);
eric.hi;
的問題是:
- 當構造函數的參數列表中沒有提供
age
場,我要初始化爲null,不爲0 ,做到這一點的正確方法是什麼?name
字段的要求相同。
不要使用空然後,使用選項:'''案例類人(姓名:選項[ String] = None,age:Option [Int] = None)'''然後你不需要所有這些鍋爐板的構造函數 – maress
首先,正如@maress所說的,它不是使用null的scala方法。其次,你不能將'null'賦值給'Short'('AnyVal')值。 –