Ok, merci de ta réponse tchize, je vais détailler un peu plus, c'est vrai que c'est light ![:?](https://www.developpez.net/forums/images/smilies/icon_confused.gif)
En fait je ne veux rien faire de concret, j'essaie juste pour le moment de comprendre la manière dont se comportent les classes en Java.
La question que je me pose : j'ai une classe Point contenant une classe Toto, je me demande (mais tu m'as répondu) s'il est possible de créer une instance de Toto dans un constructeur de Point et comment utiliser cette instance de Toto par la suite.
J'ai donc cette classe :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public class Point {
// mon constructeur de Point
public Point(int abs, int ord, int to) {
x = abs ;
y = ord ;
Toto t = new Toto(to) ;
t.getToto() ; // ok fonctionne
}
// essai classe incluse dans la classe Point (doit-elle être privée ?)
public class Toto {
public Toto(int x) {
a = x ;
}
public void getToto() {
System.out.println("Toto : " + a) ;
}
private int a ;
}
} |
La classe Toto contient un constructeur et une méthode de renvoi de la valeur de la seule et unique variable de la classe.
La constructeur de Point contient une instance de Toto ainsi que le renvoi de la variable a de Toto.
Lorsque j'appelle le constructeur de Point :
1 2 3 4
|
main() {
Point pp = new Point(1, 2, 3) ;
} |
Avec le résultat qui s'affiche :
Toto : 3
Le constructeur exécute bien la méthode getToto() de l'objet Toto créé par le constructeur de Point.
La question que je me pose est : puis-je maintenant utiliser l'objet t de Toto instancié dans le constructeur de la manière suivante :
1 2 3 4 5
|
main() {
Point pp = new Point(1, 2, 3) ;
pp.t.getToto() ;
} |
C'est là que j'ai cette erreur :
at javaapplication1.JavaApplication1.main(JavaApplication1.java:64)
Ce n'est pas une ligne au hasard, c'est juste la seule ligne que Netbeans affiche
Mais, tu l'auras compris, je débute aussi sous Netbeans, je ne sais actuellement pas si je peux avoir quelque chose de plus verbeux.
Partager