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.

  • ¿Cómo funcionan las funciones de extensión de Kotlin?
  • Hacer clic en una vista de text para cambiar el fragment
  • OnClick y TextView en Android Studio 3
  • Extensiones en Kotlin
  • La biblioteca de Android no puede comstackr kotlin
  • Cómo crear callbacks de funciones anidadas como anko - syntax DSL Kotlin
  • Clase Kotlin no encontrada
  • Android Kotlin Extension super calling
  • Extienda la comprobación de Mockito para que Kotlin no funcione (de manera "kotlin")
  • La function Kotlin requiere nada, pero se define como un tipo diferente