Это не переопределение, это добавление к пакету P
, например
package P {
object X { val s = "hello"}
}
package P {
object Y { val s = "world"}
}
object Hello extends App {
println(P.X.s)
println(P.Y.s)
}
выходы
hello
world
, что означает X
и Y
, теперь доступны из пакета P