Bonjour a tous ( voire bonsoir vu l heure ! )
J ai un truc qui me chiffonne , je suis sur qu il y a une explication logique mais je suis pas trop sur alors je fais appel a vous . Voila j ai le bout de code suivant :
Le truc c est que ça ne compile pas :
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
22
23
24
25
26
27
28
29
30
31
32
33
34 import javax.swing.JFrame; public class Payroll extends javax.swing.JFrame { public Payroll() { super ("Defaut"); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public Payroll(String nom) { this(); setTitle(nom); } public static void main(String[] arguments) { //Payroll pf = new Payroll(); Quand je decommentarise ça et vire le bloc if en dessous , ça passe bien if (arguments.length > 0) { String argu = arguments[0]; Payroll pf = new Payroll(argu); } else { Payroll pf = new Payroll(); } for (int i = 10; i < 400; i++) { pf.setSize(400 - (i/2), 300 - (i/2)); } } }
le compilateur trouve une erreur sur le pf.setSize = cannot find symbol
Par contre quand je vire mon if/else et fais mon new Payroll sans le conditionner ça passe bien .
Alors the question is : Pourquoi ??
Le compilateur voit il 2 objets pf dans mon code et décide que quand j y fais appel il y a confusion ? Je suppose qu il ne faut jamais conditionner l appel a un constructeur ??
Partager