黑马程序员Java基础-面向对象编程-封装生成数组工具类
2013-11-12 11:53
459 查看
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
面向对象的基本特征包括:封装、继承、多态、抽象。其中,封装是指将数据成员私有化,提供公共的访问者方法。封装的过程是类对外部隐藏细节的过程,类外想要访问隐藏的细节,必须通过公共的访问者方法。
在实际开发过程中,我们可以通过封装具有相同功能的方法生成工具类,方便其他类的使用。例如,数组在实际开发中非常的常见,而且我们需要经常使用其获取最值或者数组排序等方法,这时,我们就可以将数组的一些函数进行封装,生成数组工具类,方便其他数组直接调用。代码如下:
工具类写好后,接下来使用dos命令生成Java注释文档,命令窗口如下图:
注释文档我选择放在当前目录下,如果需要放在硬盘c盘,可以先建立目录myutils,将工具类编译后的文件ArrayTool.class放入myutils目录中,运行dos命令Javadoc -d c:\myutils\mytools -author -version ArrayTool.java即可。注释文档中包括一些html页面和文件夹,如下图所示:
点击index.html即可打开注释文档,可以看到类的注释,方法摘要和方法详细信息等,如下图所示:
接下来将ArrayTool.class文件放入mytools文件中,工具类的封装就完成了,其他类就可以直接调用。写一个ArrayToolTest测试类,调用ArrayTool.java中的方法,代码如下:
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
面向对象的基本特征包括:封装、继承、多态、抽象。其中,封装是指将数据成员私有化,提供公共的访问者方法。封装的过程是类对外部隐藏细节的过程,类外想要访问隐藏的细节,必须通过公共的访问者方法。
在实际开发过程中,我们可以通过封装具有相同功能的方法生成工具类,方便其他类的使用。例如,数组在实际开发中非常的常见,而且我们需要经常使用其获取最值或者数组排序等方法,这时,我们就可以将数组的一些函数进行封装,生成数组工具类,方便其他数组直接调用。代码如下:
package blog.Javase.object.blog01; /** * 每个应用程序中都有共性的功能,可以将这些功能进行抽取,独立封装,以便复用。 * * 该类是一个可以对数组进行操作的工具类,该类中提供了,获取最大值,最小值,排序等功能, * * Java工具类通过使用Javadoc生成注释帮助文档来完成。 * * @author kevin * @version v1.0 */ public class ArrayTool { /** * 空参数构造函数 * 构造函数私有化,防止其他程序建立对象,使程序更严谨。 */ private ArrayTool(){} /** * 获取一个整型数组中的最大值 * @param arr 接受一个int类型的数组 * @return 返回一个数组中的最大值 */ public static int getMax(int[] arr) { int max = 0; for(int i=1;i<arr.length;i++) { if(arr[i]>arr[max]) max = i; } return arr[max]; } /** * 获取一个整型数组中的最小值 * @param arr 接收一个int类型的数组 * @return 返回一个数组中的最小值 */ public static int getMin(int[] arr) { int min = 0; for(int i=1;i<arr.length;i++) { if(arr[i]<arr[min]) min = i; } return arr[min]; } /** * 给数组进行选择排序 * @param arr 接收一个int类型的数组 */ public static void selectSort(int[] arr) { for(int i=0;i<arr.length-1;i++) { for(int j=i+1;j<arr.length;j++) { if(arr[i]>arr[j]) swap(arr,i,j); } } } /** * 给数组进行冒泡排序 * @param arr 接收一个int类型的数组 */ public static void bubbleSort(int[] arr) { for(int i=0;i<arr.length-1;i++) { for(int j=0;j<arr.length-i-1;j++) { if(arr[j]>arr[j+1]) swap(arr,j,j+1); } } } /** * 给数组中元素进行位置的置换 * @param arr 接收一个int类型的数组 * @param a 要置换的位置 * @param b 要置换的位置 */ private static void swap(int[] arr,int a,int b) { int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } /** * 用于打印数组中的元素,打印形式是:[element1, element2, ...] * @param arr */ public static void printArray(int[] arr) { System.out.print("["); for(int i=0;i<arr.length;i++) { if(i!=arr.length-1) System.out.print(arr[i]+","); else System.out.println(arr[i]+"]"); } } }
工具类写好后,接下来使用dos命令生成Java注释文档,命令窗口如下图:
注释文档我选择放在当前目录下,如果需要放在硬盘c盘,可以先建立目录myutils,将工具类编译后的文件ArrayTool.class放入myutils目录中,运行dos命令Javadoc -d c:\myutils\mytools -author -version ArrayTool.java即可。注释文档中包括一些html页面和文件夹,如下图所示:
点击index.html即可打开注释文档,可以看到类的注释,方法摘要和方法详细信息等,如下图所示:
接下来将ArrayTool.class文件放入mytools文件中,工具类的封装就完成了,其他类就可以直接调用。写一个ArrayToolTest测试类,调用ArrayTool.java中的方法,代码如下:
package blog.Javase.object.blog01; /** * 数组工具类测试 * @author kevin * */ public class ArrayToolTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = {6,3,8,9,5,7}; //工具类封装好了后,其他类就可以直接调用,无需建立对象来调用工具类中的方法, //直接使用 类名.方法名()即可。 //调用数组工具类中获取最大值的函数 int max = ArrayTool.getMax(arr); System.out.println("max="+max); //调用数组工具类中获取最小值的函数 int min = ArrayTool.getMin(arr); System.out.println("min="+min); //调用数组工具类中数组冒泡排序的函数 ArrayTool.bubbleSort(arr); ArrayTool.printArray(arr); //调用数组工具类中选择排序的函数 ArrayTool.selectSort(arr); ArrayTool.printArray(arr); } }
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员_Java基础 数组、数组工具类、文档注释总结
- 黑马程序员:Java基础总结-----Arrays 数组的工具类
- 黑马程序员——Java基础---数组常用工具类
- 黑马程序员——Java基础——数组工具类、设计模式和继承(一)
- 黑马程序员 JAVA基础 数组、数组工具类、文档注释总结
- 黑马程序员——Java基础之函数与数组
- 黑马程序员 Java基础_4 面向对象-抽象与封装
- 黑马程序员---Java基础---数组
- java语言基础——java自带数组工具类Arrays
- 黑马程序员——java基础——数组
- 黑马程序员 ——Java基础之数组
- 黑马程序员-Java基础【2】(流程控制语句,方法,数组)
- 黑马程序员_java基础-封装继承多态
- 黑马程序员----------java基础知识(6)之数组查找和二维数组及其应用
- 黑马程序员__java基础__函数、数组
- 黑马程序员JAVA基础-数组以及一些基本操作
- 黑马程序员——3.面向对象(堆栈、匿名、封装、构造函数、this、静态、数组工具类)
- 黑马程序员——Java 基础 面向对象之封装 (复习)
- 黑马程序员_Java基础_集合框架工具类
- 黑马程序员--Java基础学习(数组)第四天