JAVA包的基本概念与使用(java包的定义和使用方法)

createh52个月前 (02-01)技术教程10

包是java中基本的存在,是一个java程序的基本运行单位,也是在总体环境下区分不同java的程序的单位。

java中的包简单的理解就是文件夹,每一个包下都以有.java文件和子包,一旦一个.java文件位于包下,那么需要在这个.java文件的第一行位置命名此类所处位置,同一个包下不能存在相同名称的.java文件。创建包时只需要在项目目录下创建文件夹即可。

包在.java文件中的基本使用格式:

如果java程序的路径结构如下:

com

cuggw

school

Main.java

那么在Main.java文件中包的书写格式如下:

package com.cuggw.school;

使用包

定义当前java类所属包:

//作为类文件第一行代码出现
package com.cuggw.school;

导入其他包下的类文件:

import 包名.类名;//如果是多级包,那么包名之间用 . 隔开
import com.cuggw.school.Main;//导入com包下cuggw包下school包下的Main类。

包的作用

1、根据包规划程序,每个程序的基础都是包,同时也方便导入外部依赖。

2、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用,相当于把需要的类封装到一起。

3、不同包下可以有相同名称的.java文件,可能存在一种情况:类名相同但是实现的功能不同。这时就需要用到包将相同名称的类分隔开来。

4、访问限定的作用域有一部分是按照包来划分的,可以根据类的不同访问情况规划作用域并分配到各个包中。

package-info.java文件

每个包下都可以建立一个固定的package-info.java,并可以在其中定义类和包注解。

package-info.java文件不能通过ide内部的选项new Class创建,因为 “package-info”这个名字不符合java语言的class命名规范。所以必须通过新建一个文件并指定其后缀名创建。

package-info.java等同于普通的JAVA类文件,只是内部只能定义默认修饰符的类。

作用:

包上标注注解,@Taget注解的参数要包含ElementType.PACKAGE。

声明默认修饰符的类(默认修饰符的类的作用域只限于本包),比如定义一些只限于本包下的设置常量和者工具类,定义与普通类无两样。

提供包的注释描述,为了生成api文档。

包注解

包上标注注解,@Taget注解的参数要包含ElementType.PACKAGE。

在包上添加注解:

@包注解名称
package 包名;

在普通的java类文件中是无法在包名上方添加注解的。

获取包上的注解:

使用格式:

//利用反射创建包对象
String pkgName = "com.company"; //要写全包名

Package pkg = Package.getPackage(pkgName);

//获得包上的注解
Annotation[ ] annotations = pkg.getAnnotations();

相关文章

好程序员Java教程分享Java的五大特点

好程序员Java教程为大家分享Java的五大特点希望对初学者有所帮助。一、Java的(六大)特点:1.简单性相对于c语言来说c语言的核心 指针(保存地址)*pJava中没有指针的概念(使用的是引用概念...

22张图带你深入剖析前缀、中缀、后缀表达式以及表达式求值

前言在本篇文章当中主要跟大家介绍以下几点前缀、中缀和后缀表达式。如何将中缀表达式转化成后缀表达式。如何使用后缀表达式进行求值。表达式求值这是一个比较经典的计算机系统基础问题,但是整个过程比较抽象,本文...

给我5分钟,一次性给你讲明白Java中的序列化和反序列化

原文链接:https://mp.weixin.qq.com/s/QFG1ELITvChbtTjtk6u3OA序列化是一个经常见到但是又被很多人忽视的知识点,重要吗?重要,经常见吗?是的,那你会吗?不会...

代工到研发,我给康师傅做自动化码垛产线 | 中德制造业研修院

文 / 巴九灵前两天,苹果CEO库克称芯片短缺限制iPad和Mac销量的发言登上了热搜,在一溜奥运新闻中特别显眼。事实上,从年初起,半导体产业就隔三差五登上热搜,尤其当它与“华为”“中芯”“造车”等自...

达内java培训专家:大牛程序员眼里万能的java

很多程序员掌握了不止一种编程语言,不同编程语言的特征和优势也大不相同,导致很多程序员在编码过程中常常会感到凌乱,本文达内java培训(java.tedu.cn)专家为大家介绍一位国外程序员的亲身历程,...