黑马程序员技术交流社区

标题: Jar包和生成帮助文档(javadoc)配合使用,你也是高手 [打印本页]

作者: 孙万利    时间: 2012-11-27 23:34
标题: Jar包和生成帮助文档(javadoc)配合使用,你也是高手
本帖最后由 孙万利 于 2012-11-27 23:40 编辑

java开发中每个类都要import若干的jar包;
java开发中总会遇到自己记不清的,忘记的类,方法;
每当这个时候我就想,如果自己把编写好的方法打成jar包,再编写一个API,
给其他的开发人员使用,那多牛啊;
今天,我的愿望实现了;
因为我学习到了jar包如何打,java帮助文档如何写。希望也能帮到你(看下面代码)

Jar
命令(打jar包)
选项包括:
    -c  创建新的归档文件
    -t  列出归档目录
    -x  解压缩已归档的指定(或所有)文件
    -u  更新现有的归档文件
    -v  在标准输出中生成详细输出
    -f  指定归档文件名
    -m  包含指定清单文件中的清单信息
    -e  为捆绑到可执行 jar 文件的独立应用程序
        指定应用程序入口点
    -0  仅存储;不使用任何 ZIP 压缩
    -M  不创建条目的清单文件
    -i  为指定的 jar 文件生成索引信息
    -C  更改为指定的目录并包含其中的文件
如果有任何目录文件,则对其进行递归处理。
清单文件名、归档文件名和入口点名的指定顺序
与 "m"、"f" 和 "e" 标志的指定顺序相同。
示例 1:将两个类文件归档到一个名为 classes.jar 的归
       jar cvf classes.jar Foo.class Bar.class
示例 2:使用现有的清单文件 "mymanifest" 并
           将 foo/ 目录中的所有文件归档到 "classes.
       jar cvfm classes.jar mymanifest -C foo/ .
jar包就是被打入jar包内文件的父目录
例如:jar cvf classes.jar Foo.class Bar.class
那么:classes.jar 就是Foo.class 和 Bar.class 的父目录
     Foo.class 和 Bar.class文件可以删除,只要classes.jar文件存在即可


帮助文档制作


开始制作程序的说明书。java的帮助文档(说明书)通过文档注释来完成

*/
要生成帮助文档,类必须是public 修饰
生成帮助文档使用到bin目录下javadoc编译
格式:  javadoc -d 目录名(c: d: ...) 文件夹名(如果没有会自动生成) -author -version java文件
以此为例在默认目录下生成帮助文档: javadoc  -d(如果不写默认为当前目录)  helpdoc -author -version ArrayTool.java
                在c盘下生成帮助文档 javadoc  -d c:\helpdoc -author -version ArrayTool.java
        要想出现空的构造函数在帮助文档里,就要把修饰符变成public

        以后只要把帮助文档和编译生成.class文件发给使用方,即可使用
        有了jar包,只要把jar包和帮助文档发给使用方,就OK了
/**
    文档注释
    这是一个可以对数组进行操作的工具类,该类中提供了了,获取最值,排序等功能
    @author 孙万利
    @version v1.1
*/

public class ArrayTool{

/**

    空参数构造函数
*/

    private ArrayTool(){} //构造函数私有化,不能被new建立对象,本类静态,再建立对象,浪费堆内存

//求最大值函数
/**

    获取一个整形数组中的最大值
    @param arr 接受一个int型数组
    @return 会返回一个该数组中最大值
*/
    public static int getMax(int[] arr){

       int max=0;
       for(int x=1;x<arr.length;x++){

           if(arr[x]>arr[max])
           max=x;

       }
       return arr[max];

    }
    //求最小值函数
    /**

    获取一个整形数组中的最小值
    @param arr 接受一个int型数组
    @return 会返回一个该数组中最小值
*/
    public static int getMin(int[] arr){

       int min=0;
       for(int x=1;x<arr.length;x++){

           if(arr[x]<arr[min])
           min=x;

       }
       return arr[min];

    }

    //查找排序
    /**

    给int型数组进行查找排序
    @param arr 接收一个int型数组
*/
    public static void SearchSort(int[] arr){

       for(int x=0;x<arr.length-1;x++){

           for(int y=x+1;y<arr.length;y++){

              if(arr[x]>arr[y]){

                  swap(arr,x,y);

              }

           }

       }

    }

    //冒泡排序
       /**

    给int型数组进行冒泡排序
    @param arr 接收一个int型数组
*/
    public static void BubbleSort(int[] arr){

       for(int x=0;x<arr.length-1;x++){

           for(int y=0;y<arr.length-x-1;y++){

              if(arr[y]>arr[y+1]){

                  swap(arr,y,y+1);

              }

           }

        }

    }

    //对排序中的重复代码(比较部分)进行封装
    // 只对本类中排序方法使用,不对外提供,进行private 私有化

    /**

    给数组中元素进行位置的置换
    @param arr 接收一个int型数组
    @param a 要置换的位置
    @param b 要置换的位置
    */
    private static void swap(int[] arr,int a,int b){

       int temp =arr[a];
       arr[a]=arr;
       arr=temp;

    }

       //封装一个对数组进行遍历的方法
    /**

    用于打印数组中的元素,打印形式是【element1,element2.......】
    */
       public static void PrintArray(int [] arr){
       System.out.print("[");
           for(int x=0;x<arr.length;x++){
           if(x!=arr.length-1){
              System.out.print(arr[x]+" ,");
              }else{

              System.out.println(arr[x]+"]");

              }

           }
           
       }


javadoc1.gif (711.76 KB, 下载次数: 21)

javadoc1.gif

javadoc2.gif (1.19 MB, 下载次数: 25)

javadoc2.gif

javadoc3.jpg (80.33 KB, 下载次数: 15)

javadoc3.jpg





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2