ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### [定制工具库](https://lingcoder.gitee.io/onjava8/#/book/07-Implementation-Hiding?id=%e5%ae%9a%e5%88%b6%e5%b7%a5%e5%85%b7%e5%ba%93) 具备了以上知识,现在就可以创建自己的工具库来减少重复的程序代码了。 一般来说,我会使用反转后的域名来命名要创建的工具包,比如**com.mindviewinc.util**,但为了简化,这里我把工具包命名为**onjava**。 比如,下面是“控制流”一章中使用到的`range()`方法,采用了 for-in 语法进行简单的遍历: ~~~ // onjava/Range.java // Array creation methods that can be used without // qualifiers, using static imports: package onjava; public class Range { // Produce a sequence [0,n) public static int[] range(int n) { int[] result = new int[n]; for (int i = 0; i < n; i++) { result[i] = i; } return result; } // Produce a sequence [start..end) public static int[] range(int start, int end) { int sz = end - start; int[] result = new int[sz]; for (int i = 0; i < sz; i++) { result[i] = start + i; } return result; } // Produce sequence [start..end) incrementing by step public static int[] range(int start, int end, int step) { int sz = (end - start) / step; int[] result = new int[sz]; for (int i = 0; i < sz; i++) { result[i] = start + (i * step); } return result; } } ~~~ 这个文件的位置一定是在某个以一个 CLASSPATH 位置开始,然后接着是**onjava**的目录下。编译完之后,就可以在系统的任何地方使用**import onjava**语句来使用这些方法了。 从现在开始,无论何时你创建了有用的新工具,都可以把它加入到自己的类库中。在本书中,你将会看到更多的组件加入到**onjava**库。