Corrigé du TD 3 : Classes, instances et static

Conception objet

Attributs et méthodes statiques

La méthode random est appelée par Math.random();. Avec la convention de l'API Java, Math est un nom de classe (car il commence par une majuscule) et non un nom d'objet. La méthode random est donc statique.

En TP, on écrivait g.drawLine(…);. g est une instance précise d'une classe, et drawLine est appliquée à cette instance précise. Ceci ne prouve pas que la méthode drawLine n'est pas statique, cependant elle dessine dans une fenêtre particulière, et elle n'est donc pas statique.

La méthode suivante :

static void methodeStatique2()
{
    System.out.println("methodeStatique2: a:"+a+" s:" +s);
}

ne pourrait pas être ajoutée à la classe Test, car une méthode statique n'est pas associée à une instance particulière et ne peut donc pas accéder à la variable non statique a.

Dans un point bidimensionnel, les champs x et y ne peuvent pas être statiques, sans quoi tous les points auraient les mêmes coordonnées.

Compteur de lapins

class Lapin
{
    String nom;
 
    static int nombreDeLapinsCrees = 0;
 
    Lapin(String _nom)
    {
        nom = _nom;
        ++nombreDeLapinsCrees;
    }
 
}
 
class CompteurDeLapins
{
    public static void main(String args[])
    {
        Lapin roger  = new Lapin("Roger");
        Lapin bugs   = new Lapin("Bugs");
        Lapin eusebe = new Lapin("Eusebe");
 
        System.out.println(Lapin.nombreDeLapinsCrees);
    }
}

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>