Bonjour,
me voila confronté à une petite subtilité de langage que je ne comprends pas:
voici l'architecture de l'application que je développe:La classe m_tableDonnees, développée à l'extérieur de la classe de l'application, s'occupe de la gestion des données de l'application, et fournit des méthodes de traitement de celles-ci.
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 public class maClasseApplication { /.../ Déclaration de membres en tout genre private CTableDonnees m_tableDonnees; /.../ public static void main(String[] args) { /.../ } /.../ Reste de l application avec classes en tout genre private class maClasseA {...} private classe maClasseB etc... }
Lorsque je fais référence à m_tableDonnees depuis maClasseA pour effectuer une opération sur les données, je n'ai pas de réprimande. Par exemple:Par contre, si j'appelle cette même méthode depuis la classe main, on me signale que:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private class maClasseA { m_tableDonnees.ajouteOperation(); // OK }
"Il est impossible d'établir une référence statique au champ non statique m_tableDonnees"
Pourquoi ce qui est permis dans maClasseA, n'est pas faisable dans main ?
Partager