Sobes.tech
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")
    }
}