Attributs (variables), Attributs statiques, constantes - JAVA

Noter ce cours :

Liens sponsorisés :

Les attributs :

Un attribut permet de stocker des données à l'intérieur d'une classe. Un attribut se note comme ceci dans la classe (ou dans une méthode) :

[droits d'accès] [type de l'attribut] [nom de l'attribut] [éventuellement une définition ici]

Droits d'accès :

Les droits d'accès à un attribut peuvent être de trois types :

  • private : seules les méthodes de la classe dans laquelle est définit l'attribut peuvent y accéder et le modifier
  • protected : seules les méthodes de la classe et des éventuelles classes héritées peuvent accéder à l'attribut et le modifier
  • public : tout le monde peut accéder à l'attribut en question.

Type de l'attribut :

Les types correspondent aux types de données vus auparavant. 

Nom de l'attribut :

Le nom que vous souhaitez donner à votre attribut. Il vaut mieux qu'il se compose de caractères alphanumériques. L'underscore est autorisé, toutefois évitez de le placer en premier.

Définition de l'attribut :

La définition d'un attribut indique que vous lui avez attribué une valeur. Ceci est facultatif. Si vous n'attribuez pas de valeur à votre attribut, il y aura simplement une zone mémoire réservée, cette zone ne contiendra aucune valeur tant que vous n'aurez pas attribué de valeur à votre attribut.

Exemple :

public class Test
{
    private float nombre;
    public double attribut_public;
    protected int nb;

    public Test()
    {
        nombre = 3.14f;
        nb = (int) 8.14;
    }
}

Pour l'instant rien ne change ou presque de ce que vous avez eu l'occasion de voir jusqu'à présent. 

Les tableaux :

Un tableau va vous permettre de stocker plusieurs données au sein d'une seule variable. Les données sont accessibles via des indices numériques. Pour dire que telle variable est un tableau, on fait succéder le type de la variable par deux crochets : []

Si vous souhaitez attribuer une taille fixe à votre tableau (pour qu'il ne puisse contenir plus d'éléments que spécifié), vous devez utiliser la syntaxe suivante (on prendra un tableau d'entiers pour notre exemple) : public int[] tableau;
tableau = new int[10];

Ce tableau aura 10 cases numérotées de 0 à 9 (le premier indice étant 0).

Exemple de tableau ayant une taille indéfinie :

public class Test
{
    public int[] compteur;
    
    public Test()
    {
        compteur[0] = 0;
        compteur[1] = 1;
        
        System.out.println(compteur.length);
    }
}

Si vous souhaitez récupérer la taille d'un tableau, il faut utiliser l'attribut length comme ceci :

System.out.println("taille : " + tableau.length);

Constantes :

Les constantes diffèrent des attributs "normaux" par le fait qu'elles sont définies une fois pour toutes. C'est pourquoi vous devez obligatoirement sur la même ligne déclarer et définir la constante qui ne pourra avoir une valeur variable au cours du temps. On ajoute le mot clé final pour dire que l'attribut en question est une constante :

public class Test
{
    private final float NOMBRE = 3.14f;

    public Test()
    {
        System.out.println("Le nombre flottant vaut : " + NOMBRE);
    }
}

Attributs statiques :

Un attribut statique est un attribut qui est commun à tous les objets que vous pourrez créer. On peut par exemple citer un compteur du nombres d'instances de classe que vous aurez lancées. Si vous souhaitez compter le nombre de fois où vous avez instancié la classe "Test" vous pourrez écrire ceci :

public class Test
{
    public static int nombre;
    public static final int nb = 5;

    public Test()
    {
        nombre++;

        System.out.println("Nombre d'instances crées : " + nombre);
    }
}

L'avantage des attributs statiques est que vous pouvez y accéder même si vous n'avez pas créé d'instance de votre classe. Ainsi, vous pourrez écrire si vous le souhaitez n'importe où dans une méthode ceci :

System.out.println("Nombre d'instances crées : " + Test.nb);

Ce code affichera 5.

Vous avez aimé cet article intitulé Attributs (variables), Attributs statiques, constantes - JAVA ? Partagez-le !
Vulgarisation-informatique.com
Cours en informatique & tutoriels