zoukankan      html  css  js  c++  java
  • 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 {
    }
     
     
  • 相关阅读:
    RMQ
    LCA 笔记
    LUCAS 定理
    topcoder 643 DIV2
    BZOJ 1071组队
    Codeforces Round #283 (Div. 2)
    topcoder 642
    Codeforces Round #278 (Div. 2)
    树链剖分
    Codeforces Round #277 (Div. 2)
  • 原文地址:https://www.cnblogs.com/wade-luffy/p/6065282.html
Copyright © 2011-2022 走看看