Java 9's module system requires a module to explicitly read another to use its API. Implied readability, expressed via `requires transitive`, lets a module re-export a dependency's API to its own dependents automatically. This is useful when a module's public API exposes types from another module (e.g., `java.sql` exposing `Logger` from `java.logging`). The post explains when to use implied readability versus explicit `requires`, and covers advanced patterns like aggregator modules (which bundle related modules for easier consumption) and downward decomposability. The recommended practice is to use implied readability only at module boundaries, and to explicitly require any module used more broadly throughout your own code.
Table of contents
▚ Definition Of (Implied) Readability▚ Examples▚ Beyond Module Boundaries▚ Aggregation And Decomposition▚ ReflectionSort: