[JAVA] Accès attribut à différentes classes
Résolu/Fermé
A voir également:
- [JAVA] Accès attribut à différentes classes
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Acces rapide - Guide
- Java apk - Télécharger - Langages
- Je n'ai plus acces a ma boite mail gmail - Guide
3 réponses
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
25 avril 2012 à 10:26
25 avril 2012 à 10:26
Il faudrait voir ton code pour savoir pourquoi ça ne fait pas ce que tu veux, mais lorsque l'on veut passer d'une classe à une autre comme ça, il faut aussi prendre en compte l'encapsulation des attributs.
Dans Path.java :
public class Path
{
private static String directoryPath;
public Path ()
{
directoryPath = "D:\\Documents\\";
}
public String getDirectoryPath ()
{
return directoryPath;
}
public void setDirectoryPath (String s)
{
directoryPath = s;
}
}
Dans classe1.java :
// reste du code
Path p = new Path();
p.setDirectoryPath("D:\\Documents\\toto");
Dans classe2.java :
// Reste du code
Path p = new Path();
System.out.println(p.getDirectoryPath());
Je me rends compte avec du recul que cela vient du fait que j'appelle à nouveau le constructeur de Path et qu'il me remet ma valeur par défaut, mais comment faire autrement ?
Merci.
public class Path
{
private static String directoryPath;
public Path ()
{
directoryPath = "D:\\Documents\\";
}
public String getDirectoryPath ()
{
return directoryPath;
}
public void setDirectoryPath (String s)
{
directoryPath = s;
}
}
Dans classe1.java :
// reste du code
Path p = new Path();
p.setDirectoryPath("D:\\Documents\\toto");
Dans classe2.java :
// Reste du code
Path p = new Path();
System.out.println(p.getDirectoryPath());
Je me rends compte avec du recul que cela vient du fait que j'appelle à nouveau le constructeur de Path et qu'il me remet ma valeur par défaut, mais comment faire autrement ?
Merci.
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
25 avril 2012 à 11:18
25 avril 2012 à 11:18
Par définition, les valeurs static ne dépendent d'aucun objet, ça n'a donc pas de sens de les initialiser dans des constructeurs, ou d'utiliser un objet pour appeler les méthodes !
public class Path { private static String directoryPath = "D:\\Documents\\"; public static String getDirectoryPath() { return directoryPath; } public static void setDirectoryPath(String s) { directoryPath = s; } } public class Classe1 { // ... Path.setDirectoryPath("D:\\Documents\\toto"); // ... } public class Classe2 { // ... System.out.println(Path.getDirectoryPath()); // ... }