Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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
Java &引用;返回类型为。。。不是重写成员“的返回类型”的子类型;?_Java_Android_Kotlin - Fatal编程技术网

Java &引用;返回类型为。。。不是重写成员“的返回类型”的子类型;?

Java &引用;返回类型为。。。不是重写成员“的返回类型”的子类型;?,java,android,kotlin,Java,Android,Kotlin,我正在尝试对函数ActionableNotification.java进行子类化,其内容类似于: package com.venmo.notifications.notifications; import android.content.ContextWrapper; import com.squareup.picasso.Target; public abstract class ActionableNotification extends ContextWrapper implement

我正在尝试对函数
ActionableNotification.java
进行子类化,其内容类似于:

package com.venmo.notifications.notifications;

import android.content.ContextWrapper;
import com.squareup.picasso.Target;

public abstract class ActionableNotification extends ContextWrapper implements Target {

    @NonNull
    protected abstract String getTrackingNotificationCategory();
    // ...
}
继承类的内容与此类似

class DeclineInsufficientFundsBalanceOnlyCardNotification(context : Context, intent : Intent) : ActionableNotification(context, intent) {

    override fun getTrackingNotificationCategory() = ""
    // ...
 }
但是,当我尝试编译时,我得到以下错误:

/Users/kupeek/dev/venmo-android/p2p-app/src/main/java/com/venmo/notifications/notifications/declineinventfundsbalanceonlycardnotification.kt: (21,53):“getTrackingNotificationCategory”的返回类型不是 重写成员'@NonNull'的返回类型的子类型 受保护/受保护和包装/抽象乐趣 getTrackingNotificationCategory():中定义的字符串 com.venmo.notifications.notifications.ActionableNotification'


我不理解此错误消息,因为Kotlin继承类的返回类型是字符串,基类也是字符串?

虽然我不完全确定这是为什么,但当我为重写函数指定
字符串
类型而不是依赖类型推断时,错误消失了:

override fun getTrackingNotificationCategory(): String = ""

也许用JetBrains注释
@NotNull
注释抽象方法会更好。我看了一眼就发现了。希望这能对您有所帮助。

您能分享错误的屏幕截图以及它出现在编辑窗口中的位置吗?我用了一个简单的示例进行了尝试,但无法再现。您使用的是哪个版本的Kotlin?