Junior
Parla dei modificatori di accesso in Java e Kotlin.
sobes.tech AI
Risposta dell'AI
In Java:
public: accessibile da qualsiasi luogo.protected: accessibile all'interno della classe, del package e delle sottoclassi.- (senza modificatore): accessibile all'interno del package (package-private).
private: accessibile solo all'interno della classe.
In Kotlin:
public: accessibile da qualsiasi luogo (predefinito).internal: accessibile all'interno del modulo.protected: accessibile all'interno della classe e delle sue sottoclassi (diverso da Java per l'accesso nel package).private: accessibile solo all'interno della classe/arquivo.
Differenze:
- In Kotlin non esiste il modificatore "package-private", il suo equivalente è
internalcon un ambito diverso (il modulo). - In Kotlin
protectednon fornisce accesso all'interno del package come in Java. - In Kotlin
privatepuò essere usato anche per dichiarazioni di livello superiore (funzioni, proprietà) in un file, rendendole accessibili solo all'interno di quel file.
// Esempio in Kotlin
package com.example.myapp
private const val API_KEY = "secret" // Visibile solo in questo file
class MyClass {
private val internalState = 1 // Visibile solo all'interno di MyClass
protected fun protectedMethod() {} // Visibile in MyClass e nelle sue sottoclassi
internal fun internalMethod() {} // Visibile all'interno del modulo
}