Kotlin在Java代码中的集成?

Ral*_*kum 0 java android kotlin kotlin-android-extensions

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

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

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;
}

}
Run Code Online (Sandbox Code Playgroud)

yol*_*ole 5

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

fun MyAlreadyExistingJavaClass() = MyAlreadyExistingJavaClass(0)
Run Code Online (Sandbox Code Playgroud)

如果要定义新方法而不是构造函数,则可以使用扩展函数.