JVM is a program which is outside your package. since execution point of any prog is main() which must be defined in a public class, because it is accesed by jvm which is outside the package.
The Oak 0.2 specification appears to suggest this was a performance optimization.
Although each Oak compilation unit can contain multiple classes or interfaces, at most one class or interface per compilation unit can be coderanch... This restriction is ... necessary for efficient package importation.