我当前的类(class)如下:
class MyGcmListenerService : GcmListenerService() {}
GCMListenerService如下
public class GcmListenerService extends zzb {}
现在,我正在寻求扩展到另一个构造函数。
当我尝试这样做时,
class MyGcmListenerService : GcmListenerService(), PushDataReceiver {}
我得到错误
PushDataReceiver如下
public abstract class PushDataReceiver extends BroadcastReceiver
我一直在尝试谷歌
不知何故我无法为我的问题提供任何帮助。
最佳答案
就像Java一样,Kotlin不支持多重继承。尽管您可以实现多个接口(interface),但是一次只能扩展一个类。如果需要GcmListenerService
子类和BroadcastReceiver
,则必须为它们创建单独的类。
要解释您收到的错误消息:
该错误指出,在扩展类时(与实现接口(interface)不同),您需要通过添加括号来调用其构造函数(如果具有构造函数参数,则在这些括号内传递这些参数),就像对其他类所做的一样:
class MyGcmListenerService : GcmListenerService(), PushDataReceiver() {}
但是同样,由于您只能有一个直接的父类(super class),所以这是行不通的。
关于android - Kotlin扩展到第二个构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50921400/