Re: What does the "import" statement do for the program on earth?
Friday wrote:
Sub: What does the "import" statement do for the program on earth?
I guess you mean...
Sub: What on earth does the "import" statement do for the program?
(Note that while 'what on earth(?)' is a common
expression of surprise, once it is broken up
throughout a sentence, it can take on quite different
& ..comical meanings)
I don't understand what the the "import" statement do for the
program clearly.
For example, I just write a program like this:
import java.util.HashMap
import java.util.Date;
class MyClass
{ ...
HashMap map = new HashMap();
Date currentTime = new Date();
java.sql.Date timeForDB = new java.sql.Date(
System.currentTimeMillis() );
}
...
In my opinion, the computer first copy all the code of the
"java.util.HashMap" class to
my program,then go down to the next .
Isn't it?
No.
Have a look at the additions I made to your simple example.
I imported java.util.Date as well, and in the constructor,
made three instances, one each of the imported classes,
and an SQL Date as well.
Because I have 'informed the compiler'* to expect
java.util.HashMap's and Date's, I do not need to use
the 'fully qualified class name' when referring to them.
Since java.sql.Date was *not* imported, I must use
the fully qualified name when either refering to it, or
instantiating it.
If I had imported *both* types of Date, then I
would have to distinguish between them (using the
fully qualified name) each time.
* 'inform the compiler' is basically all an import is doing.
Andrew T.