码迷,mamicode.com
首页 > 其他好文 > 详细

静态的应用与文档注释

时间:2015-04-05 20:23:04      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

一、静态的应用一:

  比如数组工具类:

      每个应用程序中都有共性的功能,可以将这些功能进行抽取,独立封装以便复用

      虽然可以通过建立ArrayTool的对象使用这些工具方法对数组进行操作

      但是:

        1.对象是用于封装数据的,可是ArrayTool对象并没封装特有数据(没有成员变量)。     

         2.操作数组的每一个方法都没有用到ArrayTool对象中的特有数据

      这时就考虑,让程序更严谨,是不需要对象的,可以将ArrayTool中的方法都定义成static的,直接用类名调用

      将方法都静态后,可以方便于使用,但是该类还是可以被其他程序建立对象的

      为了更为严谨,强制让该类不可以建立对象,可以通过将构造函数私有化

 

      制作程序说明书:通过java文档注释来完成  要制作成java文档必须将类用public修饰

      怎么将说明书编译出来: javadoc -d .(表示当前目录,也可以指定其他目录(如果没有会自动创建)) -author -version ArrayTool.java

技术分享

 1 /**
 2 这是一个可以对数组进行操作的工具类,该类中提供了,获取最值,排序等功能
 3 @author 黄剑飞
 4 @version V1.1
 5 */
 6 //数组工具 用于操作数组的工具类 
 7 public class ArrayTool{
 8     /**
 9     空参数构造函数
10     */
11     private ArrayTool(){}//每个类都有个默认的构造函数,将构造函数私有化,强制不能建立对象
12     /**
13     获取整形数组中的最大值。
14     @param arr 接受一个int类型的数组
15     @return 会返回一个数组中最大值
16     */
17   public static int getMax(int[] arr){
18         int max=0;
19         for (int x=1;x<arr.length ;x++ ){
20             if(arr[x]>arr[max])
21                 max=x;
22         }
23             return arr[max];
24     }
25     /**
26     获取整形数组中的最小值。
27     @param arr 接受一个int类型的数组
28     @return 会返回一个数组中最小值
29     */
30       public static int getMin(int[] arr) {
31         int min=0;
32         for (int x=1;x<arr.length ;x++ ){
33             if(arr[x]<arr[min])
34                 min=x;
35         }
36             return arr[min];
37     }
38 
39     /**
40     给int数组进行选择排序
41     @param arr 接受一个int类型的数组
42     */
43     public static void selectSort(int[] arr){
44         for (int x=0 ;x<arr.length-1 ;x++ ){
45             for (int y=x+1;y<arr.length ;y++ ){
46                 if(arr[x]>arr[y]){
47                     swap(arr,x,y);
48                 }
49             }
50         }
51     }
52 
53     /**
54     给int数组进行冒泡排序
55     @param arr 接受一个int类型的数组
56     */
57     public static void bubbleSort(int[] arr){
58         for (int x=0;x<arr.length-1 ;x++ ){
59             for (int y=0;y<arr.length-x-1 ;y++ ){
60                 if(arr[y]>arr[y+1]){
61                     swap(arr,y,y+1);
62                 }
63             }
64         }
65     }
66 
67 
68     /**
69     给数组中的元素进行位置的置换
70     @param arr 接受一个int类型的数组
71     @param a 要置换的位置
72     @param b 要置换的位置
73     */
74     private static void swap(int[] arr,int a,int b){
75         int temp=arr[a];
76         arr[a]=arr[b];
77         arr[b]=temp;
78     }
79 
80     /**
81     用于打印数组中的元素。打印形式是:[element1,element2,......]
82     */
83      public static void printArray(int[] arr){
84          System.out.print("[");
85          for(int x=0;x<arr.length;x++)
86         {
87              if(x!=arr.length-1)
88                  System.out.print(arr[x]+", ");             
89              else
90                  System.out.println(arr[x]+"]");
91          }
92      }
93 }
94 //默认的构造函数的权限是随着类的改变而该变的,即如果类被public修饰,那么默认的构造函数也带public修饰
1 public class ArrayToolDemo {
2     public static void main(String[] args) {
3         int[] arr={3,3,4,5,6,7,68,34,9};
4          int max=ArrayTool.getMax(arr);//直接用类名调用
5         System.out.println("max="+max);
6     }
7 }

 

 

 

二、静态应用二:

    有一群小孩在玩堆雪人,不时有新的小孩加入,请问如何知道现在共有多少人在玩
    请用面对对象的思想,编写程序解决

 1 public class StaticTest {
 2     public static void main(String[] args) {
 3         Child d1 = new Child(3,"niuniu");
 4         d1.joinGame();
 5 
 6         Child d2 = new Child(2,"meimei");
 7         d2.joinGame();
 8 
 9         Child d3 = new Child(5,"yuanyuan");
10         d3.joinGame();
11         System.out.println("共有="+Child.num);
12     }
13 }
14 class Child{
15     int age;
16     String name;
17     static int num = 0;
18 
19     public Child(int age,String name){
20         this.age = age;
21         this.name = name;
22     }
23     public void joinGame(){
24         num++;
25         System.out.println("有个小孩加入了");
26     }
27 }

javac *.java//可以编译当前目录下所有的.java文件

静态的应用与文档注释

标签:

原文地址:http://www.cnblogs.com/LO-ME/p/3553334.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!