Your question made me dig into the JLS and here is what I found -
1. Section 7.4.2 says, "A compilation unit that has no package declaration is part of an unnamed package."
So clearly, the statement "Not every class belongs to a package" in Qid 2.1449 (T2 Q47) is incorrect because JLS calls unnamed package a package. Must be fixed.
2. Further, section 7.3 and 7.5 say (respectively):
Every compilation unit implicitly imports every public type name declared in the predefined package java.lang , as if the declaration import java.lang.*; appeared at the beginning of each compilation unit immediately after any package statement. As a result, the names of all those types are available as simple names in every compilation unit.
and
Without the use of an appropriate import declaration, the only way to refer to a type declared in another package, or a static member of another type, is to use a fully qualified name
These two statements imply that classes of the same package are accessible to each other without any import statements.
So the statement in Qid 2.894 (T2 q69) is correct because all classes of the noname package can indeed access each other. The explanation in the question also states, "However, note that this default package cannot be imported in classes that belong to any other package at all, not even with any sort of import statement.", which is also correct.
In summary, I think the explanations to use the term "unnamed" package instead of "default" package because that is the terminology used by JLS. In other words, class that don't have a package statement belong to the "unnamed"
package.
HTH,
Paul.