剛入門scala時,發現scalal中很少使用new來產生物件,比如我們在使用array的時候:
val array:array[int] = array(1,2,3,4,5,6,7,8,9)
class
test
}object
test
接下來我們執行:
val test =test()
test.speak
結果會輸出speak方法的「test」,說明test物件已經例項化好了。
val test = new test()
val test = test()
class接下來我們呼叫:test
def}}
val t = new test
t()
Scala語言基礎(五)apply方法
val array1 array 1 2,3 4,5 6,7 8,9 x int,xs int array int array 同理,如果我們定義乙個類,其構造器私有,這時只有伴生物件能夠訪問伴生類的構造器,我們就可以通過伴生物件來獲得伴生類的物件 def main args array strin...
apply方法詳解
call 方法 function.call thisobj arg1 arg2 argn 它們各自的定義 call 呼叫乙個物件的乙個方法,用另乙個物件替換當前物件。例如 b.call a,args1,args2 即a物件呼叫b物件的方法。它們的共同之處 都 可以用來代替另乙個物件呼叫乙個方法,將乙...
apply 方法和call 方法
obj.func.call obj1 是將obj1看做obj,呼叫func方法,將第乙個引數看做函式呼叫的物件,可以看做,將obj的方法給obj1使用 在函式體內this的值就是指向這個呼叫者,也就是第乙個引數,剩餘的引數都是需要傳遞給函式的值 例如 function add a,b return ...