Junior
Habla sobre los modificadores de acceso en Java y Kotlin.
sobes.tech AI
Respuesta de la IA
En Java:
public: accesible desde cualquier lugar.protected: accesible dentro de la clase, paquete y subclases.- (sin modificador): accesible dentro del paquete (package-private).
private: accesible solo dentro de la clase.
En Kotlin:
public: accesible desde cualquier lugar (por defecto).internal: accesible dentro del módulo.protected: accesible dentro de la clase y sus subclases (diferente de Java en cuanto al acceso en el paquete).private: accesible solo dentro de la clase/archivo.
Diferencias:
- En Kotlin no existe el modificador "package-private", su equivalente es
internalcon un alcance diferente (el módulo). - En Kotlin
protectedno proporciona acceso dentro del paquete, como en Java. - En Kotlin
privatetambién puede usarse para declaraciones de nivel superior (funciones, propiedades) en un archivo, haciéndolas accesibles solo dentro de ese archivo.
// Ejemplo en Kotlin
package com.example.myapp
private const val API_KEY = "secret" // Solo visible en este archivo
class MyClass {
private val internalState = 1 // Solo visible dentro de MyClass
protected fun protectedMethod() {} // Visible en MyClass y sus subclases
internal fun internalMethod() {} // Visible dentro del módulo
}