Kotlin 与 Java 中的 Firebase Analytics 初始化

Firebase Analytics initialization in Kotlin vs Java

我想知道为什么在 Kotlin 中初始化 Firebase Analytics 不需要上下文,但 Java 却需要?

来自文档:

Java:
mFirebaseAnalytics = FirebaseAnalytics.getInstance(context);

Kotlin:
firebaseAnalytics = Firebase.analytics

Kotlin 版本是扩展 属性。根据 docs:

@NonNull static fun getInstance(@NonNull context: Context): FirebaseAnalytics

Returns 单例 FirebaseAnalytics 接口。


虽然analytics,这是一个扩展属性:

val Firebase.analytics: FirebaseAnalytics

Returns 默认 FirebaseApp 的 FirebaseAnalytics 实例。