Java包---Java类的组织方式

🤔学包前的思考

想想在大型的项目中,肯定不是几个类就可以完成的,几千个类甚至上万个类都是有可能的,而且各个类名还不能相同,那混在一起会不会太复杂了点?
Java里面提供了一个可以有效组织类的结构-----包。
标准的Java类库就是由包进行组织在一起的。比如我们常用的java.util包就是其中的一个,里面有很多我们常用的类:Scanner,Date,Arrays…等等。

简单介绍包的概念

包是一组相关的类和接口以及子包的集合。(子包就是包里面还有包,包里面装着子包和类,然后子包里面还可以有子包和类。。。)和文件系统很相似,包将Java语言的类和接口有机地组织成层次结构,使得Java程序的功能清楚,结构分明。
在这里插入图片描述
(一个包可以有若干个子包,上图为了简单一点只画了一个,可以更多也可以没有)

包的作用

  1. 区分相同名字的类。不同包里可以有相同名字的类,但同一个包里不行。
  2. 当类很多时,可以更好的管理类。
  3. 控制访问范围。如下图:在这里插入图片描述

包的创建🤖

包是由包语句package创建,其语法格式如下:
package 包名;
功能:把源文件中定义的类、接口放到指定的包中,即指明源文件中定义的类和接口属于哪个包。
(我们在eclipse创建一个包时,会让我们输入包名,然后再在包里创建类,然后它会自动把package 包名放在第一行)
注:在一个源文件中只能存在一个包,且package语句必须第一行。(除了注释外)所以源文件中有多个类和接口的话也都是在一个包中。
在这里插入图片描述

如果一个Java源文件不包含package语句,那么源文件中的类和接口就属于一个无名的默认包。无名默认包的类不能被其他包中的类引用。

包的引入

如何让一个类访问另一个包的类呢?(java.lang包中的类除外,因为编译系统在编译每个Java源文件时都会自动导入这个包,即相当于在package语句(若有)的后面添加了如下一行:
import java.lang. *;)

访问方式1. 直接指定,引用这个类的完整类名(前面要加包名前缀,相对比较麻烦)
在这里插入图片描述
访问方式 2. 用import语句。import语句有两种格式。
格式1:import 包名.类名;
功能:引入指定包中需要使用的一个类和接口,然后进行操作只要用其类名就好了(就是不用加那个包的前缀了)。
例如:将import xiyou.zxl.javabook.chapter04.Circle;放在Ex4_4类的前面。这样,在类体中就可以引用其简单类名Circle,而不用其完整的类名。

格式2:import 包名. *;
功能:引入整个包,使得包中所有类和接口都可以使用,进行操作只需要使用包里的简单类名即可(就是不用加包的前缀)。
注意上面提到的访问权限就可以了

需要注意的问题:

  1. 引入包的子包里面的类访问不了,因为每个包都是独立的,顶层包就引入它包里面的类,但它的子包中的类不会被引入。
  2. 当引入多个包碰到相同类名时,可以选择性选择访问方式1的形式(直接指定)访问,防止编译错误。

简单介绍Javase API的主要包

1)java.lang,是Java语言的核心包,是编写Java程序所需要的基本类和接口,包括Object类、System类、Class类、异常处理类、线程类等。这个包由编译器自动引入。
2)java.applet,提供Applet执行时需要的类。3)java.awt,提供操作图形用户界面的基本功能。
4)java.io,提供Java程序进行输入输出的类,以及目录和文件管理类。
5)java.net,提供实现网络功能。
6)java.util,提供实用程序类及集合类等常用的工具类。
7)java.sql,提供使Java程序具有访问不同数据库的能力。
8)java.rmi,提供远程连接与载入,实现了远程方法调用的功能。

🥰🥰🥰新手上路,点个赞鼓励一下子啦!🥰🥰🥰

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假正经的小柴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值