Sobes.tech
Junior — Middle

Πώς μπορείτε να δηλώσετε ολόκληρη την κλάση σε Kotlin ως στατική, ώστε να μην απαιτείται η δημιουργία ενός αντικειμένου;

sobes.tech AI

Απάντηση από AI

Στην Kotlin δεν υπάρχει η λέξη-κλειδί static όπως στη Java, αλλά υπάρχουν διάφοροι τρόποι να δηλώσετε μέλη κλάσης ή ολόκληρη την κλάση έτσι ώστε να μην χρειάζεται να δημιουργήσετε ένα στιγμιότυπο:

  1. Object (object) — δήλωση ενός singleton αντικειμένου που αρχικοποιείται μία φορά και είναι προσβάσιμο μέσω ονόματος:
object MySingleton {
    fun doSomething() {
        println("Γειά από το singleton")
    }
}

// Χρήση
MySingleton.doSomething()
  1. companion object — για να δηλώσετε στατικά μέλη μέσα σε μια κλάση:
class MyClass {
    companion object {
        fun staticMethod() {
            println("Στατική μέθοδος")
        }
    }
}

// Κλήση
MyClass.staticMethod()
  1. top-level functions and properties — μπορείτε να δηλώσετε συναρτήσεις και μεταβλητές εκτός κλάσης, θα είναι στατικές σε επίπεδο αρχείου.

Αν θέλετε όλη η κλάση να είναι στατική και να μην απαιτείται δημιουργία στιγμιότυπου, συνήθως χρησιμοποιείτε object.