I\'ve created a Kotlin subclass of a Java class:
class AlarmReceiver : WakefulBroadcastReceiver() {
companion object {
const val ACTION_NOTIFY =
In Kotlin, unlike Java, static members are not inherited by subclasses, even though they can be called inside a subclass without the base class name.
Outside a subclass, you have to call the base class static functions using the base class name:
WakefulBroadcastReceiver.completeWakefulIntent(intent)
This behavior seems to lie within the companion objects concept: companion objects of classes in a hierarchy are not included into each other.
Interestingly, for interfaces the situation is a bit different: interface static members cannot be referenced in subclasses without the interface name. This behavior is the same to that in Java.