Junior
Pastāsti par piekļuves modifikatoriem Java un Kotlin.
sobes.tech AI
Atbilde no AI
Java:
public: pieejams no jebkurienes vietas.protected: pieejams klases, pakotnes un apakšklases iekšienē.- (bez modifikatora): pieejams pakotnē (package-private).
private: pieejams tikai klases iekšienē.
Kotlin:
public: pieejams no jebkurienes (noklusējums).internal: pieejams modulī.protected: pieejams klases un tās apakšklases iekšienē (atšķiras no Java ar piekļuvi pakotnē).private: pieejams tikai klases/faila iekšienē.
Atšķirības:
- Kotlin nav "package-private" modifikatora, tā ekvivalents ir
internal, bet ar citu scope (moduli). - Kotlin
protectednesniedz piekļuvi pakotnē, kā Java. - Kotlin
privatevar tikt izmantots arī top-level deklarācijām (funkcijām, īpašībām) failā, padarot tās pieejamas tikai šajā failā.
// Kotlin piemērs
package com.example.myapp
private const val API_KEY = "secret" // Redzams tikai šajā failā
class MyClass {
private val internalState = 1 // Redzams tikai iekšā MyClass
protected fun protectedMethod() {} // Redzams MyClass un tās apakšklasēs
internal fun internalMethod() {} // Redzams modulī
}