我目前的课程如下:
class MyGcmListenerService : GcmListenerService() {}
GCMListenerService如下
public class GcmListenerService extends zzb {}
现在我正在寻求扩展到另一个构造函数。 当我尝试这样做时,
class MyGcmListenerService : GcmListenerService(), PushDataReceiver {}
我收到错误
超类型列表中只能出现一个类。这种类型有一个 构造函数,因此必须在这里初始化
PushDataReceiver如下所示
public abstract class PushDataReceiver extends BroadcastReceiver
我一直试图谷歌
Kotlin添加辅助构造函数
不知怎的,我无法为我的问题获得任何帮助。
答案 0 :(得分:1)
就像Java一样,Kotlin不支持多重继承。您一次只能扩展一个类 - 尽管您可以实现多个接口。如果您同时需要GcmListenerService
子类和BroadcastReceiver
,则必须为它们创建单独的类。
解释您收到的错误消息:
超类型列表中只能出现一个类。这种类型有一个构造函数,因此必须在这里初始化
这个错误指出当你扩展一个类时(与实现一个接口时不同),你需要通过添加括号来调用它的构造函数(如果它有构造函数参数,则在这些括号中传递它们),就像你使用的那样另一堂课:
class MyGcmListenerService : GcmListenerService(), PushDataReceiver() {}
但是,再次,因为你只能有一个直接的超类,这是行不通的。