public interface ParentInterface {
void setMessages(Collection<String> var1);
}
public class ParentClass {
protected Collection messages;
public void setMessages(Collection messages)
{
this.messages = messages;
}
}
public class ChildClass extends ParentClass implements ParentInterface {
}
com.package.kotlinclass.kt
class KotlinClass: ChildClass()
在最后一个Kotlin类中,我有以下错误:“class”KotlinClass“不是抽象的,并且不实现基类成员public abstract fun setMessages(var1:(Mutable)Collection!):在com.package.ChildClass中定义的单元。
当我接受使用IDE生成方法实现的建议时,我有:
而我只能更改KotlinClass,因为其他类都是Java中的一个第三方库的类。帮帮某人吧,求你了,我已经在这个问题上花了很多时间了。
好吧,答案其实并不像看起来那么严格--是和不是。您可以使用纯kotlin来克服这个限制,但是您会在流程中松散一些功能/可能会在流程中引入一些不想要但明显的错误,所以您应该在继续之前真正调查一下在哪里使用了这种方法,因为您需要基本上完全“切断”这种方法,以便修复编译错误。
所以在您的具体案例中,我知道您在Kotlin上为Jira开发了Atlassian插件。这是很重要的,因为我们知道在你的情况下,这种方法是可以避免的。
问题类为:com.atlassian.jira.web.action.jirawebactionsupport
并且它包含受保护的集合错误消息;
这样你就可以砍掉这条死肢:
open class SpecificAction : JiraWebActionSupport() {
override fun setErrorMessages(p0: MutableCollection<String>?) = TODO()
...
}
在您的情况下,Java重写当然更可取,因为您不会松动任何内容,也不会引入潜在的错误,但是如果您只需要kotlin并且确信您不/不会使用这种方法,那么这个小的肮脏的黑客将会有所帮助。
Kotlin在这部分中犯了错误:
我试图从Kotlin代码扩展RuntimeException并实现Java定义的GraphQLError接口时遇到以下错误。这是一个错误: 下面是我的代码: 其中是一个接口,在Java中定义如下所示: 它似乎与中定义的冲突。 如何创建自己的运行时异常,实现GraphqlError? PS:我也尝试了下面的,收到了一个非常相似的错误:
我们希望用LiquiBase取代各种土生土长的和手工的数据库部署过程。我们有几十个数据库,我们希望最终使用liquibase。许多数据库中已经有数百个对象。 因此,当迁移运行时,它将首先在tables.xml中进行模式更改,然后在triggers.xml中进行触发器,以此类推。 triggers.xml databaseChangeLog如下所示: 我为每个对象设置了一个更改。为了能够跟踪DATA
问题内容: 我已经下载了一些用Java编写的开源软件,并尝试使用Eclipse进行编译。我收到错误:在某些文件中, “类名”类型的层次结构不一致 。是什么导致这些错误,我该如何解决? 问题答案: 这意味着您正在尝试实现一个不存在的接口,或者您正在扩展一个不存在的类。 尝试刷新您的Eclipse。 如果不起作用,则可能意味着您引用了不在构建路径中的JAR。检查项目的类路径,并验证其中是否包含接口或类
问题内容: 给定一个类(无论它是否是新型类),如何生成 所有 基类- 在继承层次结构中的任何位置? 问题答案: 适用于新样式和旧样式类,并以与方法解析相同的顺序返回:类及其所有祖先类的列表。