The import directive in Java can sometimes be confusing. For example, if you put this line at the top of your source file:
Do all the classes in the java.util package get loaded into your program? The answer is no; all the import statement does is let your program find the classes in the package. The classes are only loaded when they are used in the code. So, if you have these statements in your code, the classes Vector and Hashtable will be loaded by the VM when it reaches this point in the code. The other classes under java.util are not loaded.
Vector v = new Vector;Hashtable h = new Hashtable();
However, using the “*” to declare the imports reduces the clarity of your code. For example, just by looking at the statement “import java.util.*,” you really don’t get any idea of the classes actually used in the program. A better way to declare imports is to declare the fully qualified class. For the example given here, your imports should look like:
import java.util.Vector;import java.util.Hashtable;