栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础-包( package)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础-包( package)

        在编写Java程序时,随着程序架构越来越大,类的个数也越来越多,这时就会发现管理程序中维护类名称也是一件很麻烦的事,尤其是一些同名问题的发生。有时,开发人员可能需要将处理同一方面的问题的类放在同一个目录下,以便管理。

        为解决上述问题,Java引入了包(package)机制,提供了类的多层命名空间,用于解决类的命名冲突、类文件管理等问题。

        包允许将类组合成较小的单元(类似文件夹),它基本上隐藏了类,避免了名称上的冲突。包允许在更广泛的范围内保护类、数据和方法。你可以在包内定义类,而在包外的代码不能访问该类。这使你的类互相之间有隐私

包的3个作用

1、区分相同名称的类

2、能够较好的管理大量的类

3、控制访问范围

包定义

        Java中使用package语句定义包,package语句应该放在源文件的第一行,在每个源文件中只能有一个包定义语句,并且package语句适用于所有类型(类、接口、枚举和注释)的文件。

语法:
package 包名;
Java包的命名规则

1、包名全部由小写字母(多个单词也全部小写)

2、如果包名包含多个层次,每个层次用" . "分隔

3、包名一般由倒置的域名开头,比如com.baidu,不要有www

4、自定义包不能Java开头


注意

如果在源文件中没有定义包,那么类、接口、枚举、和注释类型文件将会放进一个无名包中,也称为默认包。在实际企业开发中,通常不会把类定义在默认包下

包导入

如果使用不同包中的其他类,需要使用该类的全面(包名+类名)

example.Test test = new example.Test();

其中,example是包名,Test是包中的类名,test是类对象

为了简化程序,Java引入了import关键字,import可以向某个Java文件中导入指定包层次下的某个类或者全部类。import语法位于package语句之后,类定义之前,一个Java源程序只能包含一个package语句,但可以包含多个import语句

使用import语句导入单个类语法如下
import 包名+类名;
上面语句用于直接导入指定类,例如导入前面example.Test类
import example.Test;
使用import语句导入指定包下全部类的用法如下
import example.*;

上面import语句中的星号(*)代表example包下的所有类,星号只能代表类

提示

        使用星号(*)可能会增加编译时间,特别是引入多个大包,所以明确的导入你想要用到的类是个好方法,需要注意的是使用星号对运行时间和类的大小没有影响

        通过使用import语句可以简化编程,但import语句并不是必需的,如果在类里使用其他类的全名,可以不使用import语句

        Java默认为所有源文件导入Java.lang包下的所有类,因此前面在Java程序中使用String、System类时都无须使用import语句来导入这些类。但对于前面介绍的Arrays类,其位于java.util包下,则必须使用import语句来导入该类。

        在一些极端的情况下,import语句也帮不了我们,此时只能在源文件中使用类全名。例如,需要在程序中使用Java.sql包下的类,也需要使用Java.util包下的类,则可以使用如下两行import语句:

import java.util.*;
import java.sql.*;

如接下来在使用程序中需要使用Date类,则会引起如下编译错误

Test.java:25:对Date的引用不明确,
java.sql中的类java.sql.Date和java.util中的类java.util.Date都匹配

上面错误提示:在Test.java文件的第25行使用Date类,而import语句导入的java.sql和java.util包下都包含了Date类,系统不知道使用那个包下的Date类。在这种情况下,如果需要指定包下的Date类,则只能使用该类的全名

java.sql.Date d = new java.sql.Date();
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1039505.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号