0Pricing
Java Academy · Lesson

Utility Classes and Static Factory Methods

Design non-instantiable utility classes and expose static factory methods as alternatives to constructors.

Utility Classes and Static Factory Methods

Utility classes provide static helper methods with no instance state. Static factory methods are named alternatives to constructors that offer better readability, caching, and flexibility.

Utility Classes

A utility class has no instance state — it is a container of static methods. Make it non-instantiable by declaring a private constructor.

final class StringUtils {
    // Private constructor prevents instantiation
    private StringUtils() {
        throw new UnsupportedOperationException("Utility class");
    }

    public static boolean isBlank(String s) {
        return s == null || s.strip().isEmpty();
    }

    public static String capitalize(String s) {
        if (isBlank(s)) return s;
        return Character.toUpperCase(s.charAt(0)) + s.substring(1).toLowerCase();
    }
}

System.out.println(StringUtils.isBlank("  ")); // true
System.out.println(StringUtils.capitalize("hELLO")); // Hello

All lessons in this course

  1. Method Overloading Rules
  2. Varargs Parameters
  3. Static Fields and Constants
  4. Utility Classes and Static Factory Methods
← Back to Java Academy