Creating modules
Module handling, also known as project Jigsaw, is a feature that was made available only in Java 9. It was a long planned feature that the developers were waiting for. First it was planned for Java 7, but it was so complex that it got postponed to Java 8 and then to Java 9. A year ago, it seemed that it would get postponed again, but finally, the project code got into the early releases and now nothing can stop from being part of the release.
Why modules are needed
We have already seen that there are four levels of access in Java. A method or field can be private
, protected
, public
, or default
(also known as package private) when no modifier is supplied. When you develop a complex library to be used in several projects, the library itself will contain many classes in many packages. There will certainly be classes and methods, fields in those that are used inside the library by other classes from different packages, but classes that are not to be used by the code outside the...