Differences between an object
and a class
.
You can think of the object
keyword as creating a singleton object of a class that is defined implicitly.
Define of Object and Class
object Timer{
var count = 0
def counter(): Int = {
count += 1
count
}
}
class Timer2{
var count = 0
def counter(): Int = {
count += 1
count
}
}
Usage
object Object_and_Class extends App{
println("======== Object ======")
println(Timer.counter())
println(Timer.counter())
println(Timer.counter())
println(Timer.counter())
val timer = new Timer2
println("======== Class ======")
println(timer.counter())
println(timer.counter())
println(timer.counter())
println(timer.counter())
}
Output
======== Object ======
1
2
3
4
======== Class ======
1
2
3
4