包
在程序代码中给类起一个名字是非常重要的,但是有时候会出现非常尴尬的事情,名字会发生冲突,例如:项目中自定义了一个日期类,我为它取名为 Date,但是会发现 Java SE 核心库中还有两个 Date,它们分别位于 java.util
包和 java.sql
包中
包作用
在 Java 中为了防止类、接口、枚举和注释等命名冲突引用了包(package)概念,包本质上为命名空间(namespace)。在包中可以定义一组相关的类型(类、接口、枚举和注 释),并为它们提供访问保护和命名空间管理。
包定义
Java 中使用 package 语句定义包,package 语句应该放在源文件的第一行,在每个源 文件中只能有一个包定义语句,并且 package 语句适用于所有类型(类、接口、枚举和注释)的文件。定义包语法格式如下:
package pkg1[.pkg2[.pkg3…]];
pkg1~ pkg3 都是组成包名的一部分,之间用点(.
)连接,它们命名应该是合法的标识符,其次应该遵守 Java 包命名规范,即全部小写字母。 定义包示例代码如下:
// Date.java文件
package pac13;
public class Date { }
如果在源文件中没有定义包,那么类、接口、枚举和注释类型文件将会被放进一个无 名的包中,也称为默认包。
包引入
引入应使用 import 语句(应位于 package 语句之后、所有类的定义之前),其格式为:
import package1[.package2...].(类名|*);
import 的参考···大佬说的很好
常用包
Java SE 提供一些常用包,其中包含了 Java 开发中常用的基础类。这些包有:java.lang
、 java.io
、java.net
、java.util
、java.text
、java.awt
和 javax.swing
。
-
java.lang
包java.lang
包含中包含了 Java 语言的核心类,如Object
、Class
、String
、包装类和Math
等,包装类Boolea
n、Character
、Integer
、Long
、Float
和Double
。使用java.lang
包中 的类型,不需要显示使用 import 语句引入,它是由解释器自动引入。 -
java.io
包java.io
包含中提供多种输入/输出流类,如InputStream
、OutputStream
、Reader
和Writer
。还有文件管理相关类和接口,如File
和FileDescriptor
类以及FileFilter
接口。 -
java.net
包java.net
包含进行网络相关的操作的类,如URL
、Socket
和ServerSocket
等。 -
java.util
包java.util
包含一些实用工具类和接口,如集合、日期和日历相关类和接口。 -
java.text
包java.text
包中提供文本处理、日期式化和数字格式化等相关类和接口。 -
java.awt
和javax.swing
包java.awt
和javax.swing
包提供了 Java 图形用户界面开发所需要的各种类和接口。java.awt
提供是一些基础类和接口,javax.swing
提供了一些高级组件。