5 · Intermediate · lesson 32 of 41

Packages & Modules

Namespaces for classes, and stronger boundaries between JAR-sized units.

Java
// File: com/acme/util/Math.java
package com.acme.util;

public class Math { ... }

// module-info.java (Java 9+)
module com.acme.util {
    exports com.acme.util;
    requires java.base;
}
Key takeaways
  • ✓Packages group related classes and are the unit of visibility.
  • ✓Modules add explicit exports/requires — stronger encapsulation than JARs.