Sök…


Introduktion

Ett objekt är en speciell typ av klass, som kan förklaras med hjälp av object nyckelord. Objekt liknar Singletons (ett designmönster) i java. Det fungerar också som den statiska delen av java. Nybörjare som byter från java till kotlin kan mycket använda den här funktionen, istället för statiska, eller singletons.

Används för att ersätta statiska metoder / java-fält

object CommonUtils {

    var anyname: String ="Hello"

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

Från vilken klass som helst, bara anropa variabeln och funktionerna på detta sätt:

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

Använd som singleton

Kotlin-objekt är faktiskt bara singletoner. Den främsta fördelen är att du inte behöver använda SomeSingleton.INSTANCE att få förekomsten av singleton.

På java ser din singleton ut så här:

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

I kotlin är motsvarande kod

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

Det är uppenbart mindre ordligt att använda.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow