• Tags
  •         
  • www.breakyizhan.com
  •    

    在一个程序中,评论参与到通过放置代码的细节使程序变得更加人性化,正确使用注释使维护变得更容易并轻松找到错误。编译器在编译代码时忽略注释。
    在Java中有三种类型的注释:

    1. 单行注释。
    2. 多行注释。
    3. 文档注释。

    Java的单行注释

    初学者级别的程序员主要使用单行注释来描述代码功能。它是最容易输入的注释。
    句法:

    //在此处注释(此行中的文本仅被视为评论)
    

    例:

    //Java program to show single line comments
    class Scomment
    {
        public static void main(String args[])
        {
             // Single line comment here
             System.out.println("Single line comment above"); 
        }
    }
    

    Java中的多行注释

    要在代码或复杂代码片段中描述完整的方法单行注释可能会很乏味,因为我们必须在每一行都提供“//”。所以要克服这种多行注释可以使用。
    句法:

    / *评论开始
    继续
    继续
    。
    。
    。
    Commnent结束* /
    

    例:

    //Java program to show multi line comments
    class Scomment
    {
        public static void main(String args[])
        {
            System.out.println("Multi line comments below");
            /*Comment line 1
              Comment line 2
              Comment line 3*/
        }
    }
    

    我们也可以使用上面的语法完成单行注释,如下所示:

    / *评论栏1 * /
    

    Java中的文档注释

    这种类型的注释通常在为项目/软件包编写代码时使用,因为它有助于生成供参考的文档页面,可用于获取有关方法,其参数等的信息
    。例如http:// docs.oracle.com/javase/7/docs/api/java/util/Scanner.html是一个自动生成的文档页面,通过使用文档注释和用于处理注释的javadoc工具生成。

    句法:

    / **评论开始
    *
    *标签用于指定参数
    *或方法或标题
    * HTML标签也可以使用 
    *如<h1>
    *
    *评论结束* /
    

    可用标签的使用:

    标签 描述 句法
    @author 添加一个类的作者。 @author name-text
    {@code} 以代码字体显示文本,而不将文本解释为HTML标记或嵌套的javadoc标记。 {@code text}
    { @docRoot} 表示从任何生成的页面生成的文档根目录的相对路径。 { @docRoot}
    @deprecated 添加一条注释,指示不应再使用此API。 @deprecated deprecatedtext
    @exception 使用类名和描述文本向生成的文档中添加一个抛出子标题。 @exception类名描述
    {@inheritDoc} 继承最近的可继承类或可实现接口的评论。 继承直接超类的评论。
    {@link } 插入一个带有可见文本标签的内联链接,该标签指向所引用类的指定包,类或成员名称的文档。 {@link package.class#member label}
    {@linkplain} 与{@link}相同,除了链接的标签以纯文本显示而不是代码字体。 {@linkplain package.class#member label}
    @param 将具有指定参数名称的参数以及指定描述添加到“参数”部分。 @param parameter-name description
    @return 添加描述文字的“退货”部分。 @return description
    @see 添加一个“See Also”标题,并带有指向引用的链接或文本条目。 @see reference
    @serial 用于默认序列化字段的文档注释中。
    @serial field-description | include | exclude
    @serialData 记录由writeObject()或writeExternal()方法写入的数据。 @serialData data-description
    @serialField 记录一个ObjectStreamField组件。 @serialField field-name field-type field-description
    @since 将带有指定since-text的“Since”标题添加到生成的文档中。 @since release
    @throws @ Throws和@exception标签是同义词。 @throws class-name description
    {@value} 在静态字段的文档注释中使用{@value}时,会显示该常量的值。 {@value package.class#field}
    @version 当使用-version选项时,将具有指定版本文本的“版本”副标题添加到生成的文档中。 @version version-text
    //Java program to illustrate frequently used
    // Comment tags
     
    /**
    * 
    <h1>Find average of three numbers!</h1>
    
    * The FindAvg program implements an application that
    * simply calculates average of three integers and Prints
    * the output on the screen.
    *
    * @author  Pratik Agarwal
    * @version 1.0
    * @since   2017-02-18
    */
    public class FindAvg
    {
        /**
        * This method is used to find average of three integers.
        * @param numA This is the first parameter to findAvg method
        * @param numB  This is the second parameter to findAvg method
        * @param numC  This is the second parameter to findAvg method
        * @return int This returns average of numA, numB and numC.
        */
        public int findAvg(int numA, int numB, int numC)
        {
            return (numA + numB + numC)/3;
        }
     
        /**
        * This is the main method which makes use of findAvg method.
        * @param args Unused.
        * @return Nothing.
        */
     
        public static void main(String args[])
        {
            FindAvg obj = new FindAvg();
            int avg = obj.findAvg(10, 20, 30);
     
            System.out.println("Average of 10, 20 and 30 is :" + avg);
        }
    }
    

    输出:

    Average of 10, 20 and 30 is :20

    对于上面的代码,可以使用工具“javadoc”生成文档:
    通过在终端中运行以下命令可以使用Javadoc。

    javadoc FindAvg.java

     
    转载请保留页面地址:https://www.breakyizhan.com/java/3803.html