Sobes.tech
Junior — Middle

Cum se diferențiază modificatorii de acces în limbajele Java și Kotlin?

sobes.tech AI

Răspuns de la AI

În Java și Kotlin, modificatorii de acces au scopuri similare, dar diferă în set și comportament:

  • Java:

    • public — acces din orice locație.
    • protected — acces în interiorul pachetului și în subclase.
    • (package-private) — acces doar în interiorul pachetului (dacă nu se specifică alt mod).
    • private — acces doar în interiorul clasei.
  • Kotlin:

    • public (implicit) — acces din orice locație.
    • internal — acces în interiorul modulului (de exemplu, în interiorul unui singur modul Gradle).
    • protected — acces în subclase, dar doar în același fișier (spre deosebire de Java, unde protected permite accesul din pachet).
    • private — acces în interiorul clasei sau fișierului (dacă este declarat la nivel de fișier).

Principalul diferență este că în Kotlin există modificatorul internal, care limitează vizibilitatea la modul, și, de asemenea, protected în Kotlin nu permite accesul în interiorul pachetului, ci doar în subclase. În Java, nu există internal, iar protected permite accesul atât în pachet, cât și în subclase.