Junior
Parlez des modificateurs d'accès en Java et Kotlin.
sobes.tech IA
Réponse de l'IA
En Java :
public: accessible de n'importe où.protected: accessible à l'intérieur de la classe, du paquet et des sous-classes.- (sans modificateur) : accessible à l'intérieur du paquet (package-private).
private: accessible uniquement à l'intérieur de la classe.
En Kotlin :
public: accessible de n'importe où (par défaut).internal: accessible dans le module.protected: accessible à l'intérieur de la classe et de ses sous-classes (diffère de Java en ce qui concerne l'accès dans le paquet).private: accessible uniquement à l'intérieur de la classe/fichier.
Différences :
- En Kotlin, il n'existe pas de modificateur "package-private", son équivalent est
internalavec une portée différente (le module). - En Kotlin,
protectedne donne pas accès dans le paquet comme en Java. - En Kotlin,
privatepeut également être utilisé pour les déclarations de niveau supérieur (fonctions, propriétés) dans un fichier, les rendant accessibles uniquement à l'intérieur de ce fichier.
// Exemple en Kotlin
package com.example.myapp
private const val API_KEY = "secret" // Visible uniquement dans ce fichier
class MyClass {
private val internalState = 1 // Visible uniquement dans MyClass
protected fun protectedMethod() {} // Visible dans MyClass et ses sous-classes
internal fun internalMethod() {} // Visible dans le module
}