Здесь stats and missing
- это атрибуты класса, и каждый экземпляр BballStatCounter будет иметь свою собственную копию, как в Python.
В Scala метод apply
служит для специальных целей: если у какого-либо объекта есть метод apply, и если этот объект используется в качестве нотации вызова функции, такой как Obj (), то компилятор заменяет ее на вызов метода apply, например, Obj. применить ().
Метод apply обычно используется в качестве конструктора в объекте Class Companion.
Все классы коллекции в Scala имеют объект-компаньон с методом apply, поэтому вы можете создать список, например: List (1,2,3,4)
Таким образом, в приведенном выше коде BballStatCounter (b) будет скомпилирован в BballStatCounter.apply (b)