CodeGym /Java Blog /Random-IT /Cos'è una classe statica in Java?
John Squirrels
Livello 41
San Francisco

Cos'è una classe statica in Java?

Pubblicato nel gruppo Random-IT
Java è un linguaggio di programmazione orientato agli oggetti e gli oggetti sono i principali elementi costitutivi di Java. Tuttavia, Java fornisce anche il concetto di classe statica. Una classe statica è una classe che può contenere solo metodi statici, variabili e classi annidate. In questo articolo esploreremo cos'è una classe statica, come funziona e la sua implementazione in Java.

Classe statica in Java

Una classe statica in Java è una classe di cui non è possibile istanziare. Cioè, non possiamo creare oggetti di una classe statica. Possiamo accedere ai suoi membri solo utilizzando il nome della classe stessa. In altre parole, una classe statica è una classe che contiene solo membri statici. Le classi statiche vengono spesso utilizzate per raggruppare insieme metodi di utilità correlati. Ad esempio, la classe Math in Java è una classe statica che fornisce varie operazioni matematiche come la ricerca del valore massimo o minimo, funzioni trigonometriche e altro. Possiamo accedere ai metodi nella classe Math utilizzando il nome della classe e l'operatore punto, in questo modo: Math.max(5, 10) .

Esempio

Diamo un'occhiata ad un esempio di una classe statica in Java. Supponiamo di voler creare una classe per eseguire varie operazioni sulle stringhe come invertire una stringa, trovare la lunghezza di una stringa e altro. In questo esempio, abbiamo creato una classe statica chiamata StringUtils , che contiene due metodi statici: reverse e length . Questi metodi accettano una stringa come argomento e restituiscono rispettivamente la stringa invertita e la lunghezza della stringa. Nel metodo main , abbiamo creato una stringa str e l'abbiamo passata ai metodi "reverse" e "length" della classe StringUtils .

public class StringUtils {

    public static String reverse(String str) {
        StringBuilder sb = new StringBuilder(str);
        return sb.reverse().toString();
    }

    public static int length(String str) {
        return str.length();
    }

    public static void main(String[] args) {
        String str = "Hello, World!";
                    
        String reversedStr = StringUtils.reverse(str);
        int strLength = StringUtils.length(str);
        System.out.println(reversedStr);
        System.out.println(strLength);
    }
}
L'output del programma sarà:
!dlroW ,olleH 13
Nel prossimo esempio aggiornato, abbiamo aggiunto una classe nidificata statica chiamata Formatter all'interno della classe StringUtils . Questa classe nidificata statica contiene anche un metodo statico chiamato format che accetta una stringa e restituisce la sua versione in maiuscolo. Nel metodo main abbiamo utilizzato la classe annidata statica Formatter per formattare la stringa str e stamparla sulla console. Abbiamo anche chiamato i metodi reverse e length della classe StringUtils per invertire rispettivamente la stringa e trovarne la lunghezza.

public class StringUtils {

    // nested Static class
    public static class Formatter {
        public static String format(String str) {
            return str.toUpperCase();
        }
    }

    public static String reverse(String str) {
        StringBuilder sb = new StringBuilder(str);
        return sb.reverse().toString();
    }

    public static int length(String str) {
        return str.length();
    }

    public static void main(String[] args) {
        String str = "Hello, World!";
        
        // Using static class
        String formattedStr = StringUtils.Formatter.format(str);
        System.out.println(formattedStr);
        
        String reversedStr = StringUtils.reverse(str);
        int strLength = StringUtils.length(str);
        System.out.println(reversedStr);
        System.out.println(strLength);
    }
}
L'output del programma sarà:
CIAO MONDO! !dlroW ,olleH 13
Come puoi vedere, le classi statiche in Java possono contenere anche classi nidificate statiche, che possono essere utilizzate per raggruppare insieme funzionalità correlate.

Conclusione

In conclusione, una classe statica in Java è una classe che può contenere solo metodi statici, variabili e classi annidate. Non possiamo creare oggetti di una classe statica e possiamo accedere ai suoi membri solo utilizzando il nome della classe stessa. Le classi statiche vengono spesso utilizzate per raggruppare insieme metodi di utilità correlati. Nell'esempio sopra abbiamo visto come creare una classe statica e utilizzarla per eseguire varie operazioni sulle stringhe.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION