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(){}
您确定可以编译吗?“但同样,由于您只能有一个直接超类,这将不起作用。”