当前位置: 首页 > news >正文

packge-info.java

packge-info.java是一个Java文件,可以添加到任何的Java源码包中。packge-info.java的目标是提供一个包级的文档说明或者是包级的注释。

packge-info.java文件中,唯一要求包含的内容是包的声明语句,比如:

package com.jephon.pkg;

包文档

在Java 5之前,包级的文档是package.html,是通过JavaDoc生成的。而在Java 5以上版本,包的描述以及相关的文档都可以写入packge-info.java文件,它也用于JavaDoc的生成。比如:

/**
 * 定时任务处理
 * Created by jephon on 2016/10/31.
 */
package com.jephon.task;

标红的会在通过javadoc生成的文档中有体现。

包注释

注解对于程序员来说非常重要,packge-info.java文件包含了包级的注解。我们还可以使用ElementType来自定义注释。 

public enum ElementType {
    /** Class, interface (including annotation type), or enum declaration */
    TYPE,

    /** Field declaration (includes enum constants) */
    FIELD,

    /** Method declaration */
    METHOD,

    /** Formal parameter declaration */
    PARAMETER,

    /** Constructor declaration */
    CONSTRUCTOR,

    /** Local variable declaration */
    LOCAL_VARIABLE,

    /** Annotation type declaration */
    ANNOTATION_TYPE,

    /** Package declaration */
    PACKAGE,

    /**
     * Type parameter declaration
     *
     * @since 1.8
     */
    TYPE_PARAMETER,

    /**
     * Use of a type
     *
     * @since 1.8
     */
    TYPE_USE
}

比如,想让包中的所有类型过时(Deprecate),你可以注释每一个单独的类型(类、接口、枚举等),或者是可以在package-info.java包声明文件中使用@Deprecated注释,它可以让包中的一切均过时。

@Deprecated
package com.jephon.pkg;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
public @interface Deprecated {
}

 

 

 
 

 

相关文章:

  • Java 线程 — ThreadLocal
  • 前端学数据库之数据表操作
  • [转]C#中捕捉对话框的文本内容 EnumChildWindows
  • (转)LINQ之路
  • 创建dialog
  • SQL Scripts Template Files Path
  • OS命令注入中的空格
  • //解决validator验证插件多个name相同只验证第一的问题
  • IE6 jQuery append()函数 与 JS appendChild(elem) 函数 报错原因
  • 管理者的最基本职责是什么?
  • spark
  • redis查看数据
  • C# 获取listview中选中一行的值
  • 火锅惹的祸
  • 使用sqlserver的游标功能来导数据的常见写法
  • [NodeJS] 关于Buffer
  • Bytom交易说明(账户管理模式)
  • css系列之关于字体的事
  • css属性的继承、初识值、计算值、当前值、应用值
  • ES6--对象的扩展
  • es6要点
  • Markdown 语法简单说明
  • PhantomJS 安装
  • storm drpc实例
  • V4L2视频输入框架概述
  • 前端面试题总结
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用API自动生成工具优化前端工作流
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • zabbix3.2监控linux磁盘IO
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • # 达梦数据库知识点
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (独孤九剑)--文件系统
  • (汇总)os模块以及shutil模块对文件的操作
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (一)插入排序
  • (转)甲方乙方——赵民谈找工作
  • 、写入Shellcode到注册表上线
  • .net mvc部分视图
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • //解决validator验证插件多个name相同只验证第一的问题
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @KafkaListener注解详解(一)| 常用参数详解
  • [AI]ChatGPT4 与 ChatGPT3.5 区别有多大
  • [codeforces]Recover the String
  • [Docker]十一.Docker Swarm集群raft算法,Docker Swarm Web管理工具
  • [flask] flask的基本介绍、flask快速搭建项目并运行
  • [G-CS-MR.PS02] 機巧之形2: Ruler Circle
  • [IE编程] IE 是如何决定Accept-Language 属性的
  • [iphone-cocos2d]关于Loading的若干处理和讨论
  • [jQuery]div滚动条回到最底部
  • [linux] C语言Linux系统编程进程基本概念