【发布时间】:2019-07-11 15:00:01
【问题描述】:
这是我的方法:
private static class AvatarNotFound
extends Throwable
{
public AvatarNotFound(String message, @NonNull AddressableAvatarView addressableAvatarView)
{
super(message + getErrorMessageSuffix(addressableAvatarView));
}
private static String getErrorMessageSuffix(@NonNull AddressableAvatarView addressableAvatarView)
{
return ". Addressable: " + addressableAvatarView.toString();
}
}
转换成 Kotlin 会返回这段代码,会变成这样:
private open class AvatarNotFound(message: String, addressableAvatarView: AddressableAvatarView) : Throwable(message + getErrorMessageSuffix(addressableAvatarView)) {
private fun getErrorMessageSuffix(addressableAvatarView: AddressableAvatarView): String {
return ". Addressable: $addressableAvatarView"
}
}
但它说getErrorMessageSuffix 是一个未解决的引用?
如何让构造函数识别它?
【问题讨论】:
-
你可以把
getErrorMessageSuffix放在thecompanion object {}里面 -
是的,谢谢!!!就是这样。现在可以了。如果您对此做出回答,我将接受它作为正确的答案。抱歉,对 kotlin 来说还是新手,所以有时会让人感到困惑
标签: android class kotlin constructor super