Junior
Pověz o modifikátorech přístupu v Java a Kotlin.
sobes.tech AI
Odpověď od AI
V Javě:
public: dostupný odkudkoliv.protected: dostupný uvnitř třídy, balíčku a podtříd.- (bez modifikátoru): dostupný uvnitř balíčku (package-private).
private: dostupný pouze uvnitř třídy.
V Kotlinu:
public: dostupný odkudkoliv (výchozí).internal: dostupný uvnitř modulu.protected: dostupný uvnitř třídy a jejích podtříd (liší se od Java v přístupu v balíčku).private: dostupný pouze uvnitř třídy/souboru.
Rozdíly:
- V Kotlinu neexistuje modifikátor "package-private", jeho ekvivalent je
internals jiným scope (modul). - V Kotlinu
protectedneposkytuje přístup v rámci balíčku, jako v Java. - V Kotlinu lze
privatepoužít i pro deklarace na úrovni top-level (funkce, vlastnosti) v souboru, čímž je činí dostupnými pouze uvnitř tohoto souboru.
// Příklad v Kotlinu
package com.example.myapp
private const val API_KEY = "secret" // Viditelný pouze v tomto souboru
class MyClass {
private val internalState = 1 // Viditelný pouze uvnitř MyClass
protected fun protectedMethod() {} // Viditelný v MyClass a jejích podtřídách
internal fun internalMethod() {} // Viditelný v rámci modulu
}