Java包(package)
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
包的作用
1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
Java使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。
包语句的语法格式为:
packagepkg1[.pkg2[.pkg3?]]
例如,一个Something.java文件它的内容
packagenet.java.utilpublicclassSomething{
...}
那么它的路径应该是 net/java/util/Something.java 这样保存的。package(包)的作用是把不同的java程序分类保存,更方便的被其他java程序调用。
一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问保护和命名空间管理的功能。
以下是一些Java中的包:
java.lang-打包基础的类
java.io-包含输入输出功能的函数
开发者可以自己把一组类和接口等打包,并定义自己的包。而且在实际开发中这样做是值得提倡的,当你自己完成类的实现之后,将相关的类分组,可以让其他的编程者更容易地确定哪些类、接口、枚举和注释等是相关的。
由于包创建了新的命名空间(namespace),所以不会跟其他包中的任何名字产生命名冲突。使用包这种机制,更容易实现访问控制,并且让定位相关类更加简单。
常用的五个\x0d\x0ajava.lang.*\x0d\x0a提供利用 Java 编程语言进行程序设计的基础类。最重要的类是 Object(它是类层次结构的根)和 Class(它的实例表示正在运行的应用程序中的类)。\x0d\x0ajava.util.*\x0d\x0a包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包\x0d\x0ajava.io.*\x0d\x0aJava的核心库java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。\x0d\x0ajava.net.*\x0d\x0a并非所有系统都支持 IPv6 协议,而当 Java 网络连接堆栈尝试检测它并在可用时透明地使用它时,还可以利用系统属性禁用它。在 IPv6 不可用或被显式禁用的情况下,Inet6Address 对大多数网络连接 *** 作都不再是有效参数。虽然可以保证在查找主机名时 java.net.InetAddress.getByName 之类的方法不返回 Inet6Address,但仍然可能通过传递字面值来创建此类对象。在此情况下,大多数方法在使用 Inet6Address 调用时都将抛出异常。\x0d\x0ajava.sql.*\x0d\x0a提供使用 JavaTM 编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的 API。此 API 包括一个框架,凭借此框架可以动态地安装不同驱动程序来访问不同数据源。两种解决方法:\x0d\x0a第一种:不建包,用缺省包,在CalculateDistance.java文件的首行,加上 import Point\x0d\x0a当然,你要先编译Point.java,生成相应的.class文件,另外,你要设置好环境变量CLASSPATH。\x0d\x0a第二种,建包\x0d\x0a这种 *** 作用记事本做比较复杂。\x0d\x0aPoint.java中的第一行,要加入package mypack(mypack是包名,仅举例)\x0d\x0a编译后,在liu中创建文件夹 mypack,将相应.class文件放里面\x0d\x0a然后,在CalculateDistance.java的第一行应是:import myback\x0d\x0aCalculateDistance.java应在liu中。\x0d\x0a \x0d\x0a包的概念要通过实践才能理解。在开发中,会经常涉及到的。\x0d\x0a \x0d\x0a这要有对包一定的理解,建议找本教材或上网,应该找到有针对性的实践做法。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)