1.包语句
通过关键字package声明包语句:package 包名;如果省略了package语句,则该类在一个无名的包中。 包名可以是一个合法的标识符,也可以是若干个标识符加“.”分割而成,如:
package sunrise; package sun.com.cn;例:
package tom.jiafei;public class PrimNumber { public void getPrimnumber(int n) { int sum = 0, i, j; for (i = 1; i <= n; i++) { for (j = 2; j <= i / 2; j++) { if (i % j == 0) break; } if (j > i / 2) System.out.print(" " + i); } } public static void main(String args[]) { PrimNumber p = new PrimNumber(); p.getPrimnumber(20); }}保存在D:\my\Documents\java\java基础\4类对象接口\tom\jiafei中,然后编译文件:
D:\my\Documents\java\java基础\4类对象接口\tom\jiafei>javac PrimNumber.java运行时必须回到tom\jiafei的上一层目录中:
D:\my\Documents\java\java基础\4类对象接口>java tom.jiafei.PrimNumber
2.import语句
使用import语句可以引入包中的类。 Java提供了130多个包,如:
1)如果要引入一个包中的所有类,可以用星号代替,如:
java.applet | 包含实现所有Java applet的类 |
java.awt | 包含抽象窗口工具集中的图形、文本、窗口GUI类。 |
java.awt.image | 包含抽象窗口工具集中的图像处理类 |
java.lang | 包含所有的基本语言类 |
java.io | 包含所有的输入输出类 |
java.net | 包含所有实现网络功能的类 |
java.util | 包含有用的数据类型类 |
import java.awt.*;例:
import java.applet.*;import java.awt.*;public class Example4_10 extends Applet { Button redButton; public void init() { redButton = new Button("我是一个红色按钮"); redButton.setBackground(Color.red); redButton.setForeground(Color.white); add(redButton); }}运行 Java Applet必须由浏览器来运行。
然后用浏览器打开,也可以在DOS命令下执行
D:\my\Documents\java\java基础\4类对象接口>appletviewer Example4_10.html如果用import语句导入了整个包中的类,那么 可能会增加编译时间, 但绝不会影响程序运行的性能,因为当 程序执行时, 只是将真正使用的类的字节码文件加载到内存。 2)也可以使用import语句来引入自己的包,如:
import tom.jiafei.*;但必须 在classpath中指定包的位置,假如包的位置是C:\1000,执行如下命令:
set classpath=D:\jak1.4\jre\lib\rt.jar;.;C:\1000例:
import tom.jiafei.*; //引入包tom.jiafei中的类 public class Example4_11 { public static void main(String args[]) { PrimNumber num = new PrimNumber(); // 用包tom.jiafei中的类创建对象 num.getPrimnumber(30); }}将文件保存在D:\chaper4,编译:
D:\chaper4>javac Example4_11.java运行:
D:\chaper4>java Example4_11如果在 引用程序当前目录下建立和包相对应的目录结构,比如在目录chaper4下建立如下的目录结构: D:\chaper4\tom\jiafei 那么 就不必去修改classpath的值,因为默认的classpath的值为: D:\jdk1.4\jre\lib\rt.jar; .; 3)也可以使用无名包中的类,假如上例中没有使用包语句
public class Example4_12 { public static void main(String args[]) { PrimNumber num = new PrimNumber(); // 要保证PrimNumber类和Example4_12类在同一目录中 num.getPrimnumber(30); }}注: 如果应用程序当前目录中某个无名包类和程序中引入的包中的某个类同名,应用程序将使用无名包类,这时如果想要使用带包名的类,就必须明显的写出类的包名,例如:
tom.jaifei.PrimNumber num = new tom.jaifei.PrimNumber();