Metodi statici

In Java esistono molte classi che si comportano come librerie di metodi di utilità generale

java.util.Arrays

public static int     binarySearch(..., ...)
public static boolean equals(..., ...)
public static void    fill(..., ...)
public static void    sort(...)
public static String  toString(...)

java.lang.Integer

public static int reverse(...),
                  rotateLeft(...),
                  rotateRight(...)
public static String toString(...),
                     toString(..., ...),
                     toBinaryString(...),
                     toHexString(...),
                     toOctalString(...)
...

java.lang.Math

public static ...    abs(...)
public static ...    min(..., ...)
public static double sqrt(...)
...

java.lang.String

public static String valueOf(...)

Esempi

  1. double r2=Math.sqrt(2.0); // rad2 <-- 1.41421356...
  2. String b2=Integer.toBinaryString(2); // b2 <-- "10""
  3. String s2=String.valueOf(2.0); // s <-- "2.0"

Nel progettare una classe si possono includere dei metodi statici per renderli utilizzabili senza che sia necessario istanziare un oggetto della classe stessa.
Un metodo statico può utilizzare solo risorse statiche!

Esempio

public class Mat2x2
{
   ...
   public static boolean uguali(Mat2x2 m1, Math2x2 m2) { ... }
}
...
boolean b=Mat2x2.uguali(ma, mb);
...