Lukasz Kalnik
06/21/2023, 1:29 PMinternal class Outer {
class Inner
}
is the Inner
class public
or also internal
?Lukasz Kalnik
06/21/2023, 1:31 PMinternal class MyClass {
companion object {
val myValue: Int
}
}
Is the companion object
and the myValue
internal or public?Lukasz Kalnik
06/21/2023, 1:31 PMpublic
modifierLukasz Kalnik
06/21/2023, 1:32 PMpublic Inner
and public companion object
, and also public myValue
.Lukasz Kalnik
06/21/2023, 1:34 PMInner
, I would expect that it's really public, as it's not a member of Outer
(it's just namespacing, it's not a Kotlin inner class
)Lukasz Kalnik
06/21/2023, 1:34 PMcompanion object
I'm not sure, conceptually it's also rather namespacing and not really a member of MyClass
Johann Pardanaud
06/21/2023, 1:37 PMSam
06/21/2023, 1:37 PMLukasz Kalnik
06/21/2023, 1:38 PMJohann Pardanaud
06/21/2023, 1:39 PMInner
is Outer
🙂Johann Pardanaud
06/21/2023, 1:39 PMLukasz Kalnik
06/21/2023, 1:40 PMJohann Pardanaud
06/21/2023, 1:40 PMOuter
internalJohann Pardanaud
06/21/2023, 1:40 PMInner
publicLukasz Kalnik
06/21/2023, 1:41 PMOuter
itself is internal
.Lukasz Kalnik
06/21/2023, 1:41 PMinternal
visibilityLukasz Kalnik
06/21/2023, 1:41 PMJohann Pardanaud
06/21/2023, 1:42 PMOuter
class public. But since all its members (expect Inner
) would be internal, it would essentially act as a namespaceLukasz Kalnik
06/21/2023, 1:42 PMJohann Pardanaud
06/21/2023, 1:42 PMJohann Pardanaud
06/21/2023, 1:42 PMLukasz Kalnik
06/21/2023, 1:42 PMLukasz Kalnik
06/21/2023, 1:43 PMLukasz Kalnik
06/21/2023, 1:44 PMinternal
to restrict the access as much as possible (i.e. to the actual current usage of the API; all client apps are also available to me)Johann Pardanaud
06/21/2023, 1:45 PMLukasz Kalnik
06/21/2023, 1:46 PMLukasz Kalnik
06/21/2023, 1:46 PMJohann Pardanaud
06/21/2023, 1:47 PMJohann Pardanaud
06/21/2023, 1:47 PMLukasz Kalnik
06/21/2023, 1:47 PMLukasz Kalnik
06/21/2023, 1:48 PMLukasz Kalnik
06/21/2023, 1:48 PM