工具类是什么?
- 类中都是一些静态方法,每个方法都是以完成一个公用的功能为目的,这个类用来给系统开发人员共同使用的。
例如:
实现代码如下:
验证码工具类:
public class ItbirdbirdUtil { /** 注意:由于工具类无需创建对象,所以把其构造器私有化会显得很专业! */ public class ItbirdUtil{ } /** 静态方法。验证码工具类 */ public static String createVerifyCode(int n) { //开发一个验证码。 //1.定义一个变量记住验证码/ String code = ""; //2.定义一个变量记住全部验证码字符。 String data = "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"; //3.定义一个循环生成几个随机索引,去得到几个字符 Random r = new Random(); for (int i = 0; i < n; i++) { //4.过去随机索引对应的字符。链接给code int index = r.nextInt(data.length()); code += data.charAt(index); } return code; } }
登录测试类:
public class Login { public static void main(String[] args) { //开发一个验证码。 System.out.println(ItbirdbirdUtil.createVerifyCode(6)); } }
使用工具类的好处
- 一是调用方便,二是提高了代码复用(一次编写,处处可用)
问:为什么工具类中的方法不用实例方法来做?
- 实例方法需要创建对象调用。
- 此时用对象只是为了调用方法,这样只会浪费内存。
工具类定义时的其他要求:
- 由于工具里面的都是静态方法,直接用类名即可访问,因此,工具类无需创建对象,建议将工具类的构造器进行私有。
练习:定义数组工具类
实现代码如下:
工具类:
public class ArrayUtil { /** 私有构造器 */ private ArrayUtil(){ } /** 工具方法:静态方法 */ public static String toString(int[] arr){ //1.一些校验 if (arr == null){ return null; } //2.拼接内容并返回 String result = "["; for (int i = 0; i < arr.length; i++) { result += (i == arr.length - 1 ? arr[i] : arr[i] + ","); } result += "]"; return result; } }
测试类:
public class TestDemo2 { public static void main(String[] args) { int[] arr = null; int[] arr1 = {}; int[] arr2 = {12, 22, 33, 66}; System.out.println(ArrayUtil.toString(arr)); System.out.println(ArrayUtil.toString(arr1)); System.out.println(ArrayUtil.toString(arr2)); } }