Junior — Middle
Kādi elementi vai konstrukcijas ir aizliegtas deklarēt iekšā interfeisā?
sobes.tech AI
Atbilde no AI
Kotlin saskarnēs ir aizliegts deklarēt:
- Stāvokļa laukus (mainīgos, kas glabā vērtības). Saskarnēs var deklarēt tikai īpašības bez realizācijas vai ar getter/setter bez stāvokļa.
- Konstruktorus (ieskaitot primāros un sekundāros).
- Inicializētājus (init blokus).
Saskarnēs var deklarēt:
- Abstraktus metodes un īpašības (bez realizācijas).
- Metodes ar realizāciju (noklusējuma metodes).
Piemērs:
interface MyInterface {
val property: String // īpašība bez stāvokļa
fun doSomething() // abstrakta metode
fun defaultMethod() { // ar realizāciju metode
println("Noklusējuma realizācija")
}
}