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.

  • Extensiones en Kotlin
  • Android Studio 3 no puede build fragments de kotlin
  • La function Kotlin requiere nada, pero se define como un tipo diferente
  • El tipo Out-Projected 'ArrayList <*>' prohíbe el uso de 'public fun fun add (índice: Int, elemento: E): Unidad definida en java.util.ArrayList'
  • Cómo crear callbacks de funciones anidadas como anko - syntax DSL Kotlin
  • ¿Cuál es el equivalente de este código de java a kotlin
  • Extienda la comprobación de Mockito para que Kotlin no funcione (de manera "kotlin")
  • Android Kotlin Extension super calling
  • La biblioteca de Android no puede comstackr kotlin
  • Hacer clic en una vista de text para cambiar el fragment