java 工具類 設計思路

2021-08-18 18:59:29 字數 392 閱讀 6650

我們經常會寫一些工具類,策略類的**。這些類在功能上類似乙個函式,那麼最好的辦法就是把介面設計成static的,使用方不需要new出來,只需要clazz.method()即可。這樣省去了建立物件的空間,不需要gc用過的物件,而且簡化了工具類的使用,不用關心new。

但是有時候,我們的工具類沒有這麼簡單,它可能需要有屬性,或者存一些資料,比如啟動時load一些配置,此時可以把這個類的屬性方法全搞成static的,但是這種方法似乎太過粗暴,畢竟萬一以後需要加入非static的東西就沒法搞了。

還有一種方法似乎更好,那就是設計模式裡的單例。這樣屬性什麼的就不需要static了,但是介面可以static。我們可以在私有的構造方法裡寫乙個init函式來做初始化工作,把load的結果存到單例的成員裡,最後給呼叫方提供乙個static的介面即可。

Java工具類 Java檔案工具類

public class fileutils 讀取檔案並作為byte返回 param file 目標檔案 return throws ioexception public static byte readfileasbytes file file throws ioexception 讀取檔案並作為...

Java反射工具類

反射工具類 public class reflectionutil return field.get object catch exception e return null 通過反射獲取靜態成員的值 param classvar param fieldname return 靜態成員的值 supp...

Java工具類 排序

最近想著封裝一些常用的工具類。先拿最常用最簡單的陣列排序來練練手。日常操作中常見的排序方法有 氣泡排序 快速排序 選擇排序 插入排序 希爾排序 堆排序 基數排序 歸併排序等。數字排序演算法通常用來作為演算法入門課程的基本內容,在實際應用 尤其是普通商業軟體 中使用的頻率較低,但是通過排序演算法的實現...