在Java代码中集成Kotlin?

例如:在C代码中,可以调用部分汇编代码,如:

int main() { //... stuff __asm { lea ebx, hal mov ecx, [ebx]hal.same_name ; mov esi, [ebx].weasel ; } // .. further stuff return 0; } 

Java(* .java)文件中的Kotlin代码是否可以实现这样的代码集成?

(我不是在谈论Java中的JNI或C / C ++!)我想用Kotlin语言扩展已经存在的(AndroidStudio-)Java-Source-Code。

 //.. this is *.java file public class MyAlreadyExistingJavaClass { private int memberVar; public MyAlreadyExistingJavaClass() { } // this is Kotlin within *.java file // extend this Java file with this constuctor in KOTLIN ? // would make above default constructor unneccessary. class MyAlreadyExistingJavaClass(number: Int = 0) { memberVar = number; } } 

2 Solutions collect form web for “在Java代码中集成Kotlin?”

Java不提供任何语法,用于将Kotlin或其他任何语言的代码片段包含到Java文件中。 但是,这不是完成你的任务所必需的。 您可以简单地在一个单独的Kotlin文件中将您需要的构造函数定义为工厂函数:

 fun MyAlreadyExistingJavaClass() = MyAlreadyExistingJavaClass(0) 

如果你想定义一个新的方法,而不是一个构造函数,你可以使用扩展函数 。

我是Groovy开发人员,而不是Kotlin开发人员,但看起来Kotlin 提供了一个脚本 API。 Groovy,JavaScript和JRuby都可以使用标准的Java ScriptEngine API从Java类中调用。 你会想要这样的东西来近似Kotlin内Java类。 我说近似的,因为它不会像该程序集示例那样直接运行,而是通过符合ScriptEngine的Kotlin实现来传递。

  • 不能从最终的类继承
  • 有没有像在shell脚本中一样在adb shell中运行kotlin脚本的方法?
  • 不能使用Kotlin扩展function添加片段
  • Android Kotlin .visibility
  • 在AndroidStudio2.3.3中需要帮助来设置Kotlin
  • 将AutoCompleteTextView中的Observable更改为EditText
  • 使用kotlin android扩展在不同布局中使用相同的id引用视图
  • android studio 3.0中的Kotlin-android和kotlin-android-extensions之间的区别
  • 尝试使用Android Studio生成Kotlin应用程序的问题
  • 如何在数据模块中使用Android Kotlin Dagger 2和Firebase Auth?
  • 在ViewHolder中使用kotlin-android-extensions
  • Kotlin language will be the best programming language for Android.