Ricerca…


introduzione

Un oggetto è un tipo speciale di classe, che può essere dichiarato usando la parola chiave object . Gli oggetti sono simili a Singletons (uno schema di progettazione) in java. Funziona anche come parte statica di java. I principianti che passano da java a kotlin possono utilizzare questa funzione in modo massiccio, al posto di statici o singleton.

Utilizzare come repalcement di metodi / campi statici di java

object CommonUtils {

    var anyname: String ="Hello"

    fun dispMsg(message: String) {
        println(message)
    }
}

Da qualsiasi altra classe, invoca semplicemente la variabile e le funzioni in questo modo:

CommonUtils.anyname
CommonUtils.dispMsg("like static call")

Utilizzare come un singleton

Gli oggetti Kotlin sono in realtà solo singoletti. Il suo vantaggio principale è che non devi usare SomeSingleton.INSTANCE per ottenere l'istanza del singleton.

In java il tuo singleton ha questo aspetto:

public enum SharedRegistry {
    INSTANCE;
    public void register(String key, Object thing) {}
}

public static void main(String[] args) {
    SharedRegistry.INSTANCE.register("a", "apple");
    SharedRegistry.INSTANCE.register("b", "boy");
    SharedRegistry.INSTANCE.register("c", "cat");
    SharedRegistry.INSTANCE.register("d", "dog");
}

In kotlin, il codice equivalente è

object SharedRegistry {
    fun register(key: String, thing: Object) {}
}

fun main(Array<String> args) {
    SharedRegistry.register("a", "apple")
    SharedRegistry.register("b", "boy")
    SharedRegistry.register("c", "cat")
    SharedRegistry.register("d", "dog")
}

È molto meno verboso da usare.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow