在 Java 中建立實用程式類

Rupam Yadav 2023年10月12日
在 Java 中建立實用程式類

Java 中的實用程式類也稱為 Helper 類。這是建立可重用方法的有效方法。我們需要反覆使用的程式碼可以放在實用程式類中。

Java 中實用程式類的使用

Java 實用程式類是一個無狀態類,不能使用 finalpublic 關鍵字進行例項化和宣告。在下面給出的示例中,我們有一個 UtilityClassExample,它有一個防止例項化的私有建構函式。例如,Java 中有許多 Util 類的示例,如 Apache StringUtilsCollectionUtilsjava.lang.Math

實用程式類中的方法應宣告為靜態而不是抽象,因為物件方法需要例項化。final 關鍵字防止子類化。在這裡,我們使用 private 建構函式建立自己的 Utility 類,該建構函式在呼叫時會引發異常。由於我們宣告瞭一個 private 建構函式,所以不能建立預設值;因此類不能被例項化。

在下面給出的程式碼中,我們擁有 UtilityClassExample 靜態的所有成員。如果我們需要新增或減去兩個 intfloat 型別變數,我們在實用程式類中建立方法以重用程式碼。我們還有一個方法可以返回一個乘以 10 的數字。

在方法 addFloatValues() 中,我們還使用 Math.round() 將結果四捨五入到最接近的 int。Float 類具有 sum() 方法,該方法返回兩個浮點引數的總和。我們呼叫這個實用程式類的每個成員方法傳遞引數,並在類 TestUtititymain() 方法中列印輸出。因此,該實用程式類具有經常使用的方法。

public final class UtilityClassExample {
  private static final int constantValue = 10;
  private UtilityClassExample() {
    throw new java.lang.UnsupportedOperationException("Utility class and cannot be instantiated");
  }
  public static int addIntValues(int i, int j) {
    int sum = i + j;
    return sum;
  }
  public static int subIntValues(int i, int j) {
    int diff = 0;
    if (i > j) {
      diff = i - j;
    } else {
      diff = j - i;
    }
    return diff;
  }
  public static float addFloatValues(float i, float j) {
    float sum = Float.sum(i, j);
    return Math.round(sum);
  }
  public static float subFloatValues(float i, float j) {
    float diff = 0.00f;
    if (i > j) {
      diff = i - j;
    } else {
      diff = j - i;
    }
    return diff;
  }

  public static int returnValAfterMultiplying(int i) {
    return i * constantValue;
  }
}
class TestUtility {
  public static void main(String[] args) {
    int a = 4;
    int b = 9;
    int c = 7;
    float d = 3.12f;
    float e = 6.85f;

    System.out.println(+a + " multiplied by ten is : 				     "
        + UtilityClassExample.returnValAfterMultiplying(a));
    System.out.println(b + "+" + c + " is : " + UtilityClassExample.addIntValues(b, c));
    System.out.println(d + "+" + e + " is : " + UtilityClassExample.addFloatValues(d, e));
    System.out.println(b + "-" + a + " is : " + UtilityClassExample.subIntValues(b, a));
    System.out.println(e + "-" + d + " is : " + UtilityClassExample.subFloatValues(e, d));
  }
}

輸出:

4 multiplied by ten is : 40
9+7 is : 16
3.12+6.85 is : 10.0
9-4 is : 5
6.85-3.12 is : 3.73

不建議使用你自己的 Utility 類,因為它會降低靈活性。

作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn