Bonjour,
J'ai acheté :
Effective Java 2nd Revised edition
On peut retrouver le code source de ce livre ici :
Code source Effective Java
Il semble que chaque item du livre peut-être étudié indépendamment.
Je crée une nouvelle discutions sur le premier item, il est possible que je crée des discussions sur d'autres items.
Le premier item suggère de considérer s'il n'est pas préférable d'utiliser des méthodes static de création d'objets, en lieu et place de constructeurs.
Question :
Une méthode static de création d'objet doit-elle être obligatoirement située hors de la class dont elle crée une instance ?
J'ai réalisé un petit programme test.
Beaucoup moins sophistiqué que les exemples fournis avec le livre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public class AAA01 { private int x; private AAA01() { } public static AAA01 getAAA01(int x) { AAA01 aaa01 = new AAA01(); setX(x) ; return aaa01; } private void setX(int x) { this.x = x; } private int getX() { return x; } }
Il ne compile pas :
- Cannot make a static reference to the non-static method setX(int) from the type
AAA01
Pourquoi faut-il utiliser une méthode static ?
Merci,
Partager