Junior
Vorbește despre modificatorii de acces în Java și Kotlin.
sobes.tech AI
Răspuns de la AI
În Java:
public: accesibil de oriunde.protected: accesibil în interiorul clasei, pachetului și subclasele.- (fără modificator): accesibil în interiorul pachetului (package-private).
private: accesibil doar în interiorul clasei.
În Kotlin:
public: accesibil de oriunde (implicit).internal: accesibil în cadrul modulului.protected: accesibil în interiorul clasei și subclasele sale (diferit de Java în privința accesului în pachet).private: accesibil doar în interiorul clasei/fișierului.
Diferențe:
- În Kotlin, nu există modificatorul "package-private", echivalentul său fiind
internalcu un scop diferit (modul). - În Kotlin,
protectednu oferă acces în interiorul pachetului, ca în Java. - În Kotlin,
privatepoate fi folosit și pentru declarații de nivel superior (funcții, proprietăți) în fișier, făcându-le accesibile doar în interiorul acestui fișier.
// Exemplu în Kotlin
package com.example.myapp
private const val API_KEY = "secret" // Vizibil doar în acest fișier
class MyClass {
private val internalState = 1 // Vizibil doar în MyClass
protected fun protectedMethod() {} // Vizibil în MyClass și subclasele sale
internal fun internalMethod() {} // Vizibil în modul
}