Java的包机制

包机制(相当于文件夹,可以分门别类存放不同功能的java文件)

Java 包机制本质上是提供了一种命名机制,是JAVA中文件的一种组织形式。

例如:Windows操作系统的文件夹结构,在java当中,包也相当于文件夹,实际上也起着这个作用,在开发比较大的java项目时,不可能只涉及到一个java文件,不可能把所有的代码都只写在同一个java文件当中,可能要创建几十,甚至几百个java文件,这个时候我们就可以使用包,把相关的java文件放在一起,利用包来方便、快捷、有效的管理这些文件, 包的作用不仅仅是对类的封装管理,包的引用还可以避免命名冲突的问题,在一个庞大系统设计中,无论我们多小心的给类命名,但是设计到成千上万个类之后,对于类名的冲突就不可避免了,特别是我们使用简单的描述性的类名时,不同的程序员设计不同的模块,那么命名冲突更加明显,而在java程序中几乎没有命名冲突的问题,其最大的原因就是包的作用。

包的好处:

方便类型的查找与使用

避免命名冲突

控制访问

可以装入包的类型为:

class、interface、annotation、enumeration

将类型装入包时,最好根据功能进行装包。

如何创建包?

包的创建使用package关键字来定义,package关键字后面跟着包名,也就是包的名字。这里一定要注意,使用package创建包的这条语句,必须放在java源程序的第一行,前面不能有任何可执行代码,当然注释除外。

将类型放入包中

package hello;
public abstract class Hello{
}

note:将Hello放入hello包中。

如果一个类型文件中没有使用package文件,那么这个类位于未命名的默认包中。一般来说,不建议这样做。

包的命名规范

一般来说,使用类时,如果类的名称相同,会产生了冲突。

eg:需要使用Hello类,但是存在两个Hello.java文件。

使用包机制可以解决这种冲突,即同名不同包。

包名一般使用小写字母。

一般利用公司域名倒置作为包名;例如www.baidu.com,包名为:com.baidu.www

公司内部如果发生类命名冲突,可以使用region或项目名,eg:com.example.region.aaa下的Hello类。

使用包内成员

包中包含的类型(eg:class、interface等)被称为包的成员。

跨包访问包内成员时,只有public类型才能被使用。

在使用一个未被import的其他包的成员时,可以通过完整类名来使用这个成员。

eg:aaa.Hello hello = new aaa.Hello();

引用一个外部包内的特定成员时,可以使用import语句。

格式:
import aaa.Hello;

note:引用aaa包下的Hello类型。

ps:import语句放在package语句之后,类型定义语句之前

ps:使用过import语句之后,在使用引用类型之时就无需使用完整类型名。eg:Hello hello = new Hello():

可以一次性引用一个完整的包,那么这个包下的所有类型全部都可以直接使用。

格式:
import aaa.*;

note:引用完整的aaa包。

ps:引用一个包时,其子包下的类型不会被引入。eg:import aaa.*;不会引入aaa.bbb下的类型。

ps:引用一个可以通过 import aaa.Hello.*;引入定义在Hello中的嵌套类型。

Java的常用包

在开发过程中么我们会经常使用到的一些包,这些包不需要导入就可以使用其中的类

  1. java.lang包,最基础的包、核心类库。常用类有String、Math、Thread、Object、包装类Integer、Character等,常用接口有Runnable、Iterable、Comparable。
  2. java.util包,实用工具包。常用类有Arrays、Scanner、Random、HashSet、HashMap、ArrayList、Date等,常用接口有Collection、Set、List等。
  3. java.io包,提供数据输入输出。常用类有File、FileInputStream、Reader等提供文件、字节输入输出的类。
  4. java.net****包,为网络连接提供服务。常用类有Socket、ServerSocket、URL等。
  5. java.sql包,连接数据库的包。要实现jdbc类库。
  6. java.awt、(javax.awt)包,创建用户界面、绘图的。常用类有Button、Panel、(JButton、JPanel)等。

包的作用:主要是管理java文件,解决同名文件冲突,其实包实际上也是一种访问控制机制,通过包来限制,或者说约束类之间的访问关系。

此学习资料参考于:

https://blog.csdn.net/qq_32165041/article/details/82148629

https://blog.csdn.net/u014080304/article/details/44174733

https://blog.csdn.net/weixin_42149962/article/details/80218165

posted @ 2022-03-30 21:35  ·追·  阅读(185)  评论(0)    收藏  举报
/*鼠标跟随效果*/ //返回顶部 returnTop