CodeGym /Blog Java /Random-FR /Qu’est-ce qu’une classe statique en Java ?
John Squirrels
Niveau 41
San Francisco

Qu’est-ce qu’une classe statique en Java ?

Publié dans le groupe Random-FR
Java est un langage de programmation orienté objet et les objets sont les principaux éléments constitutifs de Java. Cependant, Java propose également le concept de classe statique. Une classe statique est une classe qui ne peut contenir que des méthodes statiques, des variables et des classes imbriquées. Dans cet article, nous explorerons ce qu'est une classe statique, son fonctionnement et son implémentation en Java.

Classe statique en Java

Une classe statique en Java est une classe qui ne peut pas être instanciée. Autrement dit, nous ne pouvons pas créer d’objets d’une classe statique. Nous ne pouvons accéder à ses membres qu'en utilisant le nom de la classe lui-même. En d’autres termes, une classe statique est une classe qui contient uniquement des membres statiques. Les classes statiques sont souvent utilisées pour regrouper les méthodes utilitaires associées. Par exemple, la classe Math en Java est une classe statique qui fournit diverses opérations mathématiques telles que la recherche de la valeur maximale ou minimale, des fonctions trigonométriques, etc. Nous pouvons accéder aux méthodes de la classe Math en utilisant le nom de la classe et l'opérateur point, comme ceci : Math.max(5, 10) .

Exemple

Jetons un coup d'œil à un exemple de classe statique en Java. Supposons que nous souhaitions créer une classe pour effectuer diverses opérations sur les chaînes, telles que l'inversion d'une chaîne, la recherche de la longueur d'une chaîne, etc. Dans cet exemple, nous avons créé une classe statique appelée StringUtils , qui contient deux méthodes statiques : reverse et length . Ces méthodes prennent une chaîne comme argument et renvoient respectivement la chaîne inversée et la longueur de la chaîne. Dans la méthode principale , nous avons créé une chaîne str et l'avons transmise aux méthodes `reverse` et `length` de la 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);
    }
}
Le résultat du programme sera :
!dlroW ,olleH 13
Dans le prochain exemple mis à jour, nous avons ajouté une classe imbriquée statique appelée Formatter dans la classe StringUtils . Cette classe statique imbriquée contient également une méthode statique appelée format qui prend une chaîne et renvoie sa version majuscule. Dans la méthode principale , nous avons utilisé la classe imbriquée statique Formatter pour formater la chaîne str et l'imprimer sur la console. Nous avons également appelé les méthodes reverse et length de la classe StringUtils pour inverser la chaîne et trouver sa longueur, respectivement.
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);
    }
}
Le résultat du programme sera :
BONJOUR LE MONDE! !dlroW ,olleH 13
Comme vous pouvez le constater, les classes statiques en Java peuvent également contenir des classes statiques imbriquées, qui peuvent être utilisées pour regrouper des fonctionnalités associées.

Conclusion

En conclusion, une classe statique en Java est une classe qui ne peut contenir que des méthodes statiques, des variables et des classes imbriquées. Nous ne pouvons pas créer d'objets d'une classe statique et ne pouvons accéder à ses membres qu'en utilisant le nom de la classe lui-même. Les classes statiques sont souvent utilisées pour regrouper les méthodes utilitaires associées. Dans l'exemple ci-dessus, nous avons vu comment créer une classe statique et l'utiliser pour effectuer diverses opérations sur les chaînes.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION