Декларации пакетов, такие как импорт, дают вам доступ ко всему, что находится внутри них. Итак, когда вы
package foo.bar.my_package
тогда у вас есть все, что было бы, если бы вы сделали
import foo.bar.my_package._
Кроме того, объявление пакета в одной строке означает, что все нижеуказанное принадлежит этому пакету:
package foo.bar.my_package {
package my_sub {
class MyClass { var x: SomeType = _ }
}
}
(что эквивалентно:
package foo.bar.my_package
package my_sub
class MyClass { var x: SomeType = _ }
)
чтобы вы могли видеть, как содержимое foo.bar.my_package
должно находиться в области видимости в этом случае. В другом случае доступно только содержимое foo.bar.my_package.my_sub
, которое не включает SomeType
.