Suche…


Einführung

Ein Objekt ist eine spezielle Klasse, die mit object deklariert werden kann. Objekte ähneln Singletons (einem Designmuster) in Java. Es funktioniert auch als statischer Teil von Java. Anfänger, die von Java zu Kotlin wechseln, können diese Funktion anstelle von statischen oder Singletons verwenden.

Verwendung als Repalcement von statischen Methoden / Java-Feldern

object CommonUtils {

    var anyname: String ="Hello"

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

Rufen Sie aus jeder anderen Klasse die Variable und die Funktionen auf folgende Weise auf:

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

Verwenden Sie als Singleton

Kotlin-Objekte sind eigentlich nur Singletons. Sein Hauptvorteil besteht darin, dass Sie SomeSingleton.INSTANCE nicht verwenden SomeSingleton.INSTANCE , um die Instanz des Singleton zu erhalten.

In Java sieht Ihr Singleton so aus:

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 lautet der entsprechende Code

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")
}

Es ist obvoiusly weniger ausführlich zu verwenden.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow