java - Java 代码中的 Kotlin 集成?

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

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

(我不是在谈论 Java 中的 JNI 或 C/C++!) 我想用 Kotlin 语言扩展现有的 (AndroidStudio-) Java 源代码。

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

}

最佳答案

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

fun MyAlreadyExistingJavaClass() = MyAlreadyExistingJavaClass(0)

如果你想定义一个新方法,而不是构造函数,你可以使用 extension functions .

关于java - Java 代码中的 Kotlin 集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38829394/

相关文章:

webpack - Karma 无法解决 kot​​lin-frontend-plugin 中的依赖项 'kotlin'

spring-boot - 如何使用 graphql-kotlin 在 Spring Boot 服务器中添加 CORS header ?

java - 如何停止创建 .mdmp 文件

java - Android:如何在库中正确加载 ViewStub

android - androidx中 'design'的依赖是什么?

android - 黑莓开发初学者

android - 将 2 个音频文件与 android ffmpeg android 混合

kotlin - 使用OkHttp在通话期间访问基础TCP流

java - 如何将元素集合添加到我的数组?

java - 将两个 Jtable 添加到 JScrollPane