<< Chapter < Page | Chapter >> Page > |
This program is the same as the program in Question 4 with a major exception. Specifically, the program contains the import directive shown in the following fragment.
import java.util.ArrayList;
A shortcut
The designers of Java recognized that having to type a fully-qualified name for every reference to a class in a Java program can become burdensome.Therefore, they provided us with a shortcut that can be used, so long as we don't need to refer to two or more class files having the same name.
Import directives
The shortcut is called an import directive.
As can be seen above, the import directive consists of the word import followed by the fully-qualified name of a class file that will be used in theprogram.
A program may have more than one import directive, with each import directive specifying the location of a different class file.
The import directive(s) must appear before any class or interface definitions in the source code.
The alternative wild-card syntax
An alternative form of the import directive replaces the name of the class with an asterisk.
The asterisk behaves as a wild-card character. It tells the compiler to use any class file that it finds in that package that matches a class reference inthe source code.
The wild-card form should be used with care, because it can sometimes cause the compiler to use a class file that is different from the one that youintended to use (if it finds the wrong one first) .
Class file name collisions
If your source code refers to two different class files having the same name, you must forego the use of the import directive and provide fully-qualifiednames for those class files.
A. Compiler Error
The purpose of this program is to continue to illustrate the use of java packages.
No fully-qualified class names
This program is the same as the program in Question 3 with a major exception. Neither of the references to the ArrayList class use fully-qualified names in this program. Rather, the references are as shown in the following fragment.
ArrayList ref =
new ArrayList(1);
Compiler errors
As a result, the JDK 1.3 compiler produces two error messages similar to the following:
Ap144.java:20: cannot resolve symbol
symbol : class ArrayListlocation: class Worker
ArrayList ref =
Doesn't know how to find the class file
This error message indicates that the compiler didn't know where to look on the disk to find the file named ArrayList.class
C. ABC DEF GHI
Illustrate the use of java packages
Since it was necessary to make use of a class to illustrate packages, this program also previews the use of the ArrayList class. We will be very interested in this class later when we study Java data containers.
What is an ArrayList object?
Some of this terminology may not make much sense to you at this point, but I'll go ahead and tell you anyway, just as a preview.
According to Sun, the ArrayList class provides a
"Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. Inaddition to implementing the List interface, this class provides methods to manipulate the size of the array that is used internally to store the list.(This class is roughly equivalent to Vector , except that it is unsynchronized.)"
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?