Clases de Kotlin sin llaves

Me di count de que podemos crear classs en Kotlin sin llaves como a continuación.

//Example classFile.kt class Empty class SecondEmpty fun firstMethod() { } 

Mi pregunta es, ¿por qué necesitamos esa característica? ¿En qué situación podemos usar esto?

En el ejemplo anterior, he escrito un método llamado firstMethod() ¿cómo puedo llamarlo desde los otros objects?

Las classs vacías se han discutido en ¿Cuál es el propósito de la class vacía en Kotlin? ya.

Con respecto a su primer firstMethod : en Kotlin, hemos llamado funciones de alto nivel. Estos se pueden definir en cualquier file sin una class adjunta. Otro ejemplo para esto es main que se define en el nivel superior en la mayoría de los casos.

¿Cómo llamar a funciones de alto nivel?

Simplemente puede importar la function a otros files y llamarlos. Por ejemplo, si firstMethod se definió en com/x/Example.kt (package com.x), puede importar com.x.firstMethod en otros files de Kotlin y llamar a ese método.

Para Java, es importante saber que las funciones de nivel superior se comstackn en una class como miembros static . En cuanto al ejemplo anterior, puede llamar a com.x.ExampleKt.firstMethod desde Java.

  • Prueba unitaria de la function de extensión de Kotlin en las classs de Android SDK
  • ¿Cuál es el equivalente de este código de java a kotlin
  • Extensión sintética Kotlin para ver
  • Extienda la comprobación de Mockito para que Kotlin no funcione (de manera "kotlin")
  • Kotlin || ¿No puedo agregar la biblioteca a Mi aplicación?
  • Anulación accidental: las siguientes declaraciones tienen la misma firma de JVM
  • Quiero agregar mi versión de kotlin al proyecto Gradel
  • Hacer clic en una vista de text para cambiar el fragment
  • Android Studio 3 no puede build fragments de kotlin
  • Android Kotlin Extension super calling