(a) une classe peut contenir à la fois des méthodes statiques et des méthodes d'objets,
(b) seules des classes sans attributs peuvent contenir des méthodes statiques,
(c) seules des classes utilisateur peuvent contenir des méthodes statiques
(d) Si une classe contient des méthodes statiques, elle ne peut contenir des méthodes d'objet.
(a) du nom de la classe
(b) du nom d'un objet de la classe
(c) this
(d) sans préfixe.
Exemple(int a)
Exemple(float f, char c)
(a) Exemple e = new Exemple();
(b) Exemple e = new Exemple(7);
(c) Exemple e = new Exemple(3.1,'A');
(d) Exemple e = new Exemple(7, 'a');
(a) vrai,
(b) faux.
(a) de type Alpha, Beta, Gamma ou Object,
(b) Objectet Alpha seulement,
(c) Gamma et Beta seulement.
class Exemple {
public boolean b = true;
public boolean set(boolean x) {
x = !x ;
return (x == b);
}
public static void main(String[] args) {
Exemple ex = new Exemple();
ex.b = ex.set(ex.b);
System.out.println(ex.b);
}
}
(a) le programme imprime true.
(b) le programme imprime false.
class Point {
int x, y;
public Point(int xx, int yy) { x = xx; y = yy; }
public void change(Point p) { p.x += x; p.y += y; }public static void main(String[] args) {
Point a = new Point(2, 3), b = new Point(5, 10);
a.change(b);
}
}
(a) a et b sont inchangés.
(b) seul a est changé
(c) seul b est changé
(d) a et b sont changés.
Beta b = new Beta();
Alpha a = b;
if ( a.estIl() ) ...
(a) la méthode de la classe Alpha est appelée parce que Java utilise la liaison dynamique
(b) la méthode de la classe Beta est appelée parce que Java utilise la liaison dynamique
(c) la méthode de la classe Alpha est appelée parce que a est de type Alpha
(d) l'appel n'est pas valable parce que le compilateur ne sait pas déterminer laquelle des méthodes appeler.
public class X {
int x = 10;
public X() { x = 20; }
public int getX() { return x; }
}
System.out.println( new X().getX() );(a) Ne compile pas