Java面向对象——包的概念及其应用

发表于:2017-11-29 10:07

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:心中所爱    来源:简书

  一.包的概念:
  包是Java语言提供的一种区别类名字命名空间的机制,它是类的一种文件组织和管理方式、是一组功能相似或相关的类或接口的集合。Java package提供了访问权限和命名的管理机制,它是Java中很基础却又非常重要的一个概念。
  二.包的作用:
  1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
  2 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,
  当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
  3 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
  三.包的定义:
  在一个.java文件中可以一个public类和多个非public类,如果要将这些类组织在一个包当中,则在.java文件中除注释以外的第一行使用关键字package即可实现。当需要调用此包中的类时,就可以使用关键字import进行导入。
  在定义包的时候,应该注意几点:
  1.为了尽量使包名保持唯一性,包名通常采用小写、按倒写互联网址的形式进行定义。如:com.hank.www表示包文件放置的文件路径为com/hank/www。
  2.在进行命名包时,应该避免使用与系统发生冲突的名字,如java.lang、java.swing等。
  四.系统常用包
  1、Java.lang包:java的核心类库,包含了运行java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包。
  2、java.io包:java语言的标准输入/输出类库,如基本输入/输出流、文件输入/输出、过滤输入/输出流等等。
  3、java.util包:Java的实用工具类库Java.util包。在这个包中,Java提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、日历(Calendar)类来产生和获取日期及时间,提供随机数(Random)类产生各种类型的随机数,还提供了堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构。包含如处理时间的date类,处理变成数组的Vector类,以及stack和HashTable类。
  4、java.util.zip包:实现文件压缩功能
  5、java.lang.reflect包:提供用于反射对象的工具
  6、java.awt.image包:处理和操纵来自于网上的图片的java工具类库
  7、java.wat.peer包:很少在程序中直接用到,使得同一个java程序在不同的软硬件平台上运行
  8、java.applet包
  9、java.NET包:实现网络功能的类库有Socket类、ServerSocket类
  10、java.corba包和java.corba.orb包
  11、java.awt.datatransfer包:处理数据传输的工具类,包括剪贴板,字符串发送器等
  12、java.awt包:构建图形用户界面(GUI)的类库,低级绘图操作Graphics类,图形界面组件和布局管理如 Checkbox类、Container类、LayoutManger接口等,以及界面用户交互控制和事件响应,如Event类
  13、java.awt.event包:GUI事件处理包。
  14、java.sql包:实现JDBC的类库。
  五.java包创建和使用步骤
  第一步:在F:\javaStudy\j2se\14中创建Tools.java和TestTools.java,编写包源文件代码Tools.java和测试源文件代码TestTools.java。如下
  第二步:在F:\javaStudy\j2se\14中创建路径文件org/yangjie/test。
  第三步:编译包源文件代码Tools.java,将编译后的Tools.java和Tools.class移入路径文件org/yangjie/test中。
  第四步:编译测试文件TestTools.java,即javac TestTools.java,运行java TestTools就可以实现包的创建和导入。
  六.jar的命令
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号