java.base
The java.base
module is where all packages like java.lang
, java.util
, etc.
are defined.
This means it contains classes used by nearly every Java program like java.lang.String
,
java.lang.Integer
, and java.util.ArrayList
.
Because of this, it is the only module you do not need to explicitly require in a module-info.java
file.
module cool.code {
// You can leave this line off
// and it will still require java.base
requires java.base;
}
And when you have a file that makes use of "The Anonymous Main class,"
Java will also act as if you had a module import for java.base
. This
means that you don't actually need an explicit import for classes like ArrayList
.
So if a file has the following
void main() {
var names = ArrayList<String>();
names.add("Him");
names.add("Jim");
names.add("Bim");
IO.println(names);
}
It is equivalent to
import module java.base;
class Main {
void main() {
var names = ArrayList<String>();
names.add("Him");
names.add("Jim");
names.add("Bim");
IO.println(names);
}
}