如果我將Functions聲明爲對象而不是類,那麼下面的類不會編譯,我可以使用Functions.fac(3)來運行方法fac。嘗試像這樣運行課程,在scala中有意義嗎?如何修改下面的代碼,使其運行時不更改爲對象而不是類?可以用java相同的方式實例化一個scala類
class Functions {
def fac(n : Int) = {
var r = 1;
for(i <- 1 to n) r = r * i;
r
}
def main(args:Array[String]) = {
Functions f = new Functions();
print(f.fac(3));
}
}
使用'new'創建一個新對象並且該代碼*應該*編譯(即使可能不能運行)是非常有意義的。確保您提出了您想問的問題 - 例如,什麼「不起作用」呢? – 2012-08-14 21:55:52