The default package has no name. All classes and interfaces that are not preceded by a package sentence, and that are in the same directory are placed in the same default package. That is, every directory has two packages the default an the package ends up with the same name as its directory.
However
you should not use the default package except for
testing purposes.
The classes that are in a named package must be placed in a directory path that reflects the package names. The parent directory of this directory structure must be placed in the classpath , otherwise the compiler/JVM won't find the classes in that package.
Now, are you asking about "public package"?
packages cannot have access modifiers, so in that sense all of them are public. The top level classes and interfaces in a package can be friendly or publicly accessed.