Saturday, November 10, 2012

 

 

Importing Classes and Packages

The first two lines of the following listing import two classes used in the applet: Applet and Graphics.
import java.applet.Applet;
import java.awt.Graphics;

public class HelloWorld extends Applet {
    public void paint(Graphics g) {
        g.drawString("Hello world!", 50, 25);
    }
}
If you removed the first two lines, the applet could still compile and run, but only if you changed the rest of the code like this:
public class HelloWorld extends java.applet.Applet {
    public void paint(java.awt.Graphics g) {
        g.drawString("Hello world!", 50, 25);
    }
}
As you can see, importing the Applet and Graphics classes lets the program refer to them later without any prefixes. The java.applet. and java.awt. prefixes tell the compiler which packages it should search for the Applet and Graphics classes. Both the java.applet and java.awt packages are part of the core Java API -- API that every Java program can count on being in the Java environment. The java.applet package contains classes that are essential to Java applets. The java.awt package contains the most frequently used classes in the Abstract Window Toolkit (AWT), which provides the Java graphical user interface (GUI). The reason is that the System class is part of the java.lang package, and everything in the java.lang package is automatically imported into every Java program.
Besides importing individual classes, you can also import entire packages. Here's an example:
import java.applet.*;
import java.awt.*;

public class HelloWorld extends Applet {
    public void paint(Graphics g) {
        g.drawString("Hello world!", 50, 25);
    }
}
In the Java language, every class is in a package. If the source code for a class doesn't have a package statement at the top, declaring the package the class is in, then the class is in the default package. Almost all of the example classes in this tutorial are in the default package. Within a package, all classes can refer to each other without prefixes. For example, the java.awt Component class refers to the java.awt Graphics class without any prefixes, without importing the Graphics class.

1 comment: