Was sind Paketobjekte, nicht so sehr das Konzept, sondern ihre Verwendung?
Ich habe versucht, ein Beispiel zum Laufen zu bringen, und das einzige Formular, das ich zur Arbeit bekam, war wie folgt:
package object investigations {
val PackageObjectVal = "A package object val"
}
package investigations {
object PackageObjectTest {
def main(args: Array[String]) {
println("Referencing a package object val: " + PackageObjectVal)
}
}
}
Beobachtungen, die ich bisher gemacht habe, sind:
package object _root_ { ... }
ist nicht erlaubt (was vernünftig ist),
package object x.y { ... }
ist auch nicht erlaubt.
Es scheint, dass ein Paketobjekt im unmittelbaren übergeordneten Paket deklariert werden muss und, falls wie oben beschrieben, das durch Klammern getrennte Paketdeklarationsformular erforderlich ist.
Sind sie gebräuchlich? Wenn das so ist, wie?