Junior
Реци о модификаторима приступа у Јави и Котлину.
sobes.tech АИ
Одговор од АИ
U Javi:
public: dostupan s bilo kojeg mjesta.protected: dostupan unutar klase, paketa i podklasa.- (bez modifikatora): dostupan unutar paketa (package-private).
private: dostupan samo unutar klase.
U Kotlinu:
public: dostupan s bilo kojeg mjesta (zadano).internal: dostupan unutar modula.protected: dostupan unutar klase i njenih podklasa (razlikuje se od Jave u pogledu pristupa u paketu).private: dostupan samo unutar klase/datoteke.
Razlike:
- U Kotlinu ne postoji modifikator "package-private", njegov ekvivalent je
internals drugim opsegom (modul). - U Kotlinu
protectedne pruža pristup unutar paketa kao u Javi. - U Kotlinu
privatese može koristiti i za deklaracije na razini top-level (funkcije, svojstva) u datoteci, čineći ih dostupnima samo unutar te datoteke.
// Primjer u Kotlinu
package com.example.myapp
private const val API_KEY = "secret" // Vidljiv samo u ovoj datoteci
class MyClass {
private val internalState = 1 // Vidljiv samo unutar MyClass
protected fun protectedMethod() {} // Vidljiv u MyClass i njenim podklasama
internal fun internalMethod() {} // Vidljiv unutar modula
}