我正在尝试对一个函数进行子类化 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/declineinsufficientfundsbalanceonlycardnotification.kt:(21,53):“gettrackingnotificationcategory”的返回类型不是重写成员“@nonnull protected/protected and package/abstract fun gettrackingnotificationcategory():com.venmo.notifications.actionablenotification”的返回类型的子类型
我不理解这个错误消息,因为kotlin继承类的返回类型是字符串,基类也是?
2条答案
按热度按时间izj3ouym1#
也许用jetbrains注解来注解抽象方法
@NotNull
会更好。我看了一下这个发现的。希望这对你有帮助。7bsow1i62#
虽然我不完全确定为什么这样做,但当我指定
String
重写函数的类型,而不是依赖类型推断: