博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4.6 包
阅读量:6871 次
发布时间:2019-06-26

本文共 2443 字,大约阅读时间需要 8 分钟。

hot3.png

包是Java语言中
有效管理类的一个机制

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多个包,如:
java.applet 
包含实现所有Java applet的类 
java.awt
包含抽象窗口工具集中的图形、文本、窗口GUI类。
java.awt.image
包含抽象窗口工具集中的图像处理类
java.lang
包含所有的基本语言类
java.io
包含所有的输入输出类
java.net
包含所有实现网络功能的类
java.util
包含有用的数据类型类
1)如果要引入一个包中的所有类,可以用星号代替,如: 
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();

3.将类打包 

我们也可以对单独的一个类进行编译,生成字节码文件,然后供其他类使用.

转载于:https://my.oschina.net/jerrypan/blog/127224

你可能感兴趣的文章
dubbo源码分析-服务端发布流程-笔记
查看>>
小菜鸡进阶之路-First week
查看>>
MyBatis之ResultMap标签
查看>>
kubernetes-1.11.0集群部署之master集群 (二)
查看>>
IDEA PermGen space内存溢出
查看>>
Create a RHEL6 PXE Installation Server
查看>>
【Android游戏开发二十二】(图文详解)游戏中灵活实现动画播放!
查看>>
桌面支持--Office2013没有Office Picture Manage怎么安装
查看>>
chmod修改文件权限失败
查看>>
数据结构与算法-->互为素数
查看>>
Linux系统学习方法——写给小白
查看>>
Nginx服务器报500 Internal Server Error错误
查看>>
链表的游标实现
查看>>
Linux下查看CPU信息、机器型号等硬件信息命令
查看>>
Lync Server 2013 部署 _ 部署简介及系统要求
查看>>
前端小随笔
查看>>
view属性大全
查看>>
Java文件编码示例
查看>>
CactiFans V1.0中文版发布
查看>>
HTML如何显示小于号“<”等特殊符号?
查看>>