Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Kotlin扩展到第二个构造函数_Android_Kotlin - Fatal编程技术网

Android Kotlin扩展到第二个构造函数

Android Kotlin扩展到第二个构造函数,android,kotlin,Android,Kotlin,我现在的班级如下: class MyGcmListenerService : GcmListenerService() {} GCMListenerService如下所示 public class GcmListenerService extends zzb {} 现在我想扩展到另一个构造函数。 当我尝试这样做时 class MyGcmListenerService : GcmListenerService(), PushDataReceiver {} 我犯了一个错误 supertypel

我现在的班级如下:

class MyGcmListenerService : GcmListenerService() {}
GCMListenerService如下所示

public class GcmListenerService extends zzb {}
现在我想扩展到另一个构造函数。 当我尝试这样做时

class MyGcmListenerService : GcmListenerService(), PushDataReceiver {}
我犯了一个错误

supertypelist中只能显示一个类。这种类型有一个 构造函数,因此必须在此处初始化

PushDataReceiver如下所示

public abstract class PushDataReceiver extends BroadcastReceiver
我一直在用谷歌搜索

Kotlin添加辅助构造函数


不知何故,我无法为我的问题获得任何帮助。

就像Java一样,Kotlin不支持多重继承。虽然可以实现多个接口,但一次只能扩展一个类。如果同时需要
GcmListenerService
子类和
BroadcastReceiver
,则必须为它们创建单独的类


要解释您收到的错误消息,请执行以下操作:

supertypelist中只能显示一个类。此类型具有构造函数,因此必须在此处初始化

此错误指出,当您扩展一个类时(与实现接口时不同),您需要通过添加括号来调用其构造函数(如果它有构造函数参数,则在这些括号内传递这些参数),就像您对另一个类所做的那样:

class MyGcmListenerService : GcmListenerService(), PushDataReceiver() {}

但是,同样,由于您只能有一个直接超类,这将不起作用。

我可以使用它吗<代码>打开类MyGcmListenerService:GcmListenerService(){class extended:PushDataReceiver(){您可以,但是像这样的嵌套类并不能为您提供更多,而不仅仅是为这两个类提供完全独立的类。尽管您希望从嵌套类访问外部类的一部分,但您可能正在寻找一个。
类MyGcmListenerService:GcmListenerService(),PushDataReceiver(){}
您确定可以编译吗?“但同样,由于您只能有一个直接超类,这将不起作用。”