是否可以在一个Java文件中混合Java代码和Kotlin代码

时间:2019-07-12 14:45:28

标签: android kotlin kotlin-android-extensions

Android Studio 3.4.2

在build.gradle中:

buildscript {
    ext.kotlin_version = '1.3.41'
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

在app / build.gradle中:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.29.0'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'

在我的android项目中,我具有作为Java类的活动-LoginActivity.java

import android.app.Activity; 导入android.os.Bundle;

public class LoginActivity extends Activity{

private void testJavaMethod() {
    // this ia a java code
    String testJava = "Hello Java world";
}

private void testKotlinMethod() {
    // this ia a Kotlin method
    val testKotlin = "Hello Kotlin world"
}

在方法testJavaMethod()中成功编译。 但是testKotlinMethod()无法编译。

此行中的错误:

    val testKotlin = "Hello Kotlin world"

错误消息:     无法解析符号“ val”

问题是:

JAVA 文件中的Android项目中,是否可以在 Java 上编写一种方法,而在 Kotlin 上编写另一种方法?

1 个答案:

答案 0 :(得分:3)

  

在Java项目中的Android项目中,是否有可能在Java上编写一种方法而在Kotlin上编写另一种方法?

不,对不起。源文件是Java或Kotlin,而不是两者的某种混合。