As far as I know, this is just a compiler directive for resolving names. An alternative would be to fully qualify everything everywhere, which quickly becomes a syntactical inconvenience.
those. The following two examples should be the same in the bytecode:
import foo.bar.*;
var MyClass;
Vs.
import foo.bar.MyClass;
var MyClass;
, , , :
import foo.bar.MyClass;
import foo.bar.MyOtherClass;
var MyClass;
var MyOtherClass;
Vs.
import foo.bar.*;
var MyClass;
var MyOtherClass;