<@U33S3CR1A> It is useful for implementations of b...
# announcements
j
@rrader It is useful for implementations of base classes or interfaces that do not have any state. You can use these objects as
null
objects in a lot of cases. For example:
Copy code
object NoOperationMouseListener : MouseListener {
    ...
}
The mouse listener member of your class does not have to be nullable in this case:
Copy code
class MouseEventEmittingClass {
    var mouseListener: MouseListener = NoOperationMouseListener
}
r
so, is this short hand for
Copy code
class NoOperationMouseListener : MouseListener {
   ...
}
val noOperationMouseListener = NoOperationMouseListener()

class MouseEventEmittingClass {
   var mouseListener: MouseListener = noOperationMouseListener
}
?
j
Yes, it is a bit shorter, and communicates that it does not make sense to create multiple instances of this interface implementation more clearly