Java packages are to be hierarchical.
B
Correct answer
Explanation
Java packages do NOT need to be hierarchical. The Java language specification explicitly states that package naming is convention-based (using reverse domain names) but has no hierarchical relationship in the language itself. Packages are independent namespaces - java.util.List is not 'inside' or 'subordinate to' java - the dot is just a naming convention.