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

createh55个月前 (02-01)技术教程38

包是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序列化是一个经常见到但是又被很多人忽视的知识点,重要吗?重要,经常见吗?是的,那你会吗?不会...

OFD文件用哪些软件可以打开预览?(ofd文件怎样打开)

阅读OFD文件,可以使用在线预览,也可以把OFD文件转换成PDF文件预览,下面安利四款OFD在线阅读工具,有电脑端的也有手机端的,方便做财务和会计的朋友们去选择自己需要的工具使用电脑端1、WPS打开W...

Java 序列化(java序列化效果测试)

Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出...