Junior — Middle
Πώς μπορείτε να δηλώσετε ολόκληρη την κλάση σε Kotlin ως στατική, ώστε να μην απαιτείται η δημιουργία ενός αντικειμένου;
sobes.tech AI
Απάντηση από AI
Στην Kotlin δεν υπάρχει η λέξη-κλειδί static όπως στη Java, αλλά υπάρχουν διάφοροι τρόποι να δηλώσετε μέλη κλάσης ή ολόκληρη την κλάση έτσι ώστε να μην χρειάζεται να δημιουργήσετε ένα στιγμιότυπο:
- Object (object) — δήλωση ενός singleton αντικειμένου που αρχικοποιείται μία φορά και είναι προσβάσιμο μέσω ονόματος:
object MySingleton {
fun doSomething() {
println("Γειά από το singleton")
}
}
// Χρήση
MySingleton.doSomething()
- companion object — για να δηλώσετε στατικά μέλη μέσα σε μια κλάση:
class MyClass {
companion object {
fun staticMethod() {
println("Στατική μέθοδος")
}
}
}
// Κλήση
MyClass.staticMethod()
- top-level functions and properties — μπορείτε να δηλώσετε συναρτήσεις και μεταβλητές εκτός κλάσης, θα είναι στατικές σε επίπεδο αρχείου.
Αν θέλετε όλη η κλάση να είναι στατική και να μην απαιτείται δημιουργία στιγμιότυπου, συνήθως χρησιμοποιείτε object.