调用方法时调用NoSuchMethodError

这是我正在运行的代码:

higherlevel.kt

fun main(args: Array<String>) { var app = App() app.fibonacci(8, object : Process { override fun execute(value: Int) { println(value) } }) } interface Process { fun execute(value: Int) } class App { fun fibonacci(limit: Int, action: Process) { var prev = 0 var prevprev = 0 var current = 1 for (i: Int in 1..limit) { action.execute(current) var temp = current prevprev = prev prev = temp current = prev + prevprev } } } 

当我运行这个代码时,我得到这个错误:

 Exception in thread "main" java.lang.NoSuchMethodError: App.fibonacci(ILProcess;)V at HigherlevelKt.main(higherlevel.kt:3) 

当我重新编译代码时 ,它运行得很好。

在这里输入图像描述

当我重建项目并再次运行程序时,会产生相同的错误。

在这里输入图像描述

究竟发生了什么?

我正在使用IntelliJ IDEA 2017.1.1 EAP,和Kotlin编译器版本1.1.2-2