Partage de données en java
Bonjour :lol:
J'ai dans ma classe de départ une variable que je veux partager avec les autres membres de la classe
Je l'ai donc déclaré comme suit:
Code:
1 2
|
public MissionDatabaseManager missionDatabaseManager; |
mais quand j'utilise le symbole dans la classe utilisatrice, NetBeans ne le reconnait pas
j'ai essayé
Code:
1 2
|
public class ElementNormalisé extends ImportSpecification |
Mais le problème s'est déclaré. NetBeans refuse le ImportSpecification. Il dit Je ne trouve pas le constructeur alors que celui-ci est déclaré comme suit
Code:
1 2 3 4 5
|
public void ImportSpecification()
{
;
} |
Que faut il faire?
c'est:ccool:
la variable est une public est déclaré
bonjour,
Cette variable est
Code:
1 2
|
public MissionDatabaseManager missionDatabaseManager; |
J'ai simplement besoin de pouvoir accéder à cette variable pour pouvoir accéder aux méthodes de cette classe.
le code que vous nous avez demandé
la classe de base est déclaré comme suivant avec son constructeur
Code:
1 2 3 4 5 6
|
public class ImportSpecification extends IlvSDMAction
{
public ImportSpecification()
{
} |
Cette classe est compilé sans difficulté par NetBeans
La déclaration de la variable à partager suit parmi d'autres:
Code:
1 2
|
public MissionDatabaseManager missionDatabaseManager; |
elle est initiée par le code dans la classe à étendre
Code:
1 2 3 4 5 6 7 8 9 10
|
missionDatabaseManager = new MissionDatabaseManager();
try
{
try
{
// c'est la que je fais ce qu'il faut
//°0° on ouvre la connection sur la BDD
returnStatus = missionDatabaseManager.OpenDatabaseCoherence();
} |
et dans la classe appelante
Code:
1 2 3
|
public class ElementNormalisé extends ImportSpecification
{ |
C'est cette ligne qui est refusé par NetBeans
instabilité remarqué sous NetBeans
Bonjour,
Il semble qu'il y ait eu plusieurs problèmes:
Des erreurs orthographiques dans les noms des constructeurs ( Majuscule codé en minuscule)
Une erreur dans le codage du constructeur, par méconnaissance de ce qui était la norme.
Une instabilité de NetBeans face aux directives expands, qui détecte une erreur quand il y en a une autre dans le texte, et qui disparait quand tout est propre et qu'on compile
Des nouveaux développement sur le partage des données
Bonjour:lol:
J'ai toujours ma variable globale missionDatabaseManager qui pointe sur l'ouverture de la base de donnée. J'ai essayé un passage direct ou un passage par getter, et dans tous les cas je récupère une variable null dans la classe fille, un peu comme si le passage d'une classe à l'autre coupait le lien initiale?
Je vais essayer de rouvrir complètement la base de donnée. mais il me faudra auparavant l'arrêter.
Ne pourrions nous pas avoir un partage effectif des variables pointeurs entre deux classes, et comment procéder?
ce serait :ccool:
le bout de code est dans le précédent post
Bonjour:P
J'ai copié le précédent message
la classe de base est déclaré comme suivant avec son constructeur
Code:
1 2 3 4 5 6
|
public class ImportSpecification extends IlvSDMAction
{
public ImportSpecification()
{
} |
Cette classe est compilé sans difficulté par NetBeans
La déclaration de la variable à partager suit parmi d'autres:
Code:
1 2
|
public MissionDatabaseManager missionDatabaseManager; |
elle est initiée par le code dans la classe à étendre
Code:
1 2 3 4 5 6 7 8 9 10
|
missionDatabaseManager = new MissionDatabaseManager();
try
{
try
{
// c'est la que je fais ce qu'il faut
//°0° on ouvre la connection sur la BDD
returnStatus = missionDatabaseManager.OpenDatabaseCoherence();
} |
et dans la classe appelante
Code:
1 2 3
|
public class ElementNormalisé extends ImportSpecification
{ |
en final la variable est à 0 quand on rentre dans la classe appelante
comprendre, ce serait :ccool:
confirmation et infirmations
Bonjour
ce n'est ni expands ni extend mais extends
ça marche en compilation ,mais ça ne marche pas en exécution. les variables instanciées dans la classe appelante sont à null dans la classe appelée
La variable qui se retrouve à 0
Bonjour
C'est missionDatabaseManager qui se retrouve à 0 dans l'appelé.
missionDatabaseManager est le pointeur sur la base de donnée couramment ouverte; Dans le Post ci dessus j'ai mis les points clefs de son histoire. En fait il est bien initialisé dans la classe appelante, il apparait à 0 dans la classe appelée et ultérieurement se retrouve à 0 dans la classe appelante, un peu comme si l'appel rompait la communication.
J'ai provisoirement adopté une solution bestiale pour tourner le pb. J'ouvre systématiquement la base de données à chaque requête et je la ferme aussitôt.
Je suis à votre disposition pour donner d'autres informations