Java does not have built-in default arguments.
@kll demonstrated one approach – method overloading, in which one signature has no arguments, and calls the second signature while supplying the default argument.
There are other approaches. One is to test for null and, if null, assign a default value. Then the no-arg form of a method call is
foo(null). Another approach is to use varargs, and likewise check if each arg is present, and if not, assign its default. Another is to use the Builder pattern, in which each optional argument is a method.
A good summary of six approaches to default handling is in this answer: