Classe qui ne s'initialise pas
Bonjour !
Je m'entraine sur Java pour les rattrapages qui sont dans quelques jours, et décidément j'ai toujours du mal a comprendre la logique de ce langage ...
C'est un petit exo ou je dois creer une classe Point, puis une classe Segment.
La classe Point:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public class Point {
private double x=0,y=0;
public void Val(double xVal,double yVal){
this.x=xVal;
this.y=yVal;
}
public double getX(){
//System.out.println(this.x);
return this.x;
}
public double getY(){
//System.out.println(this.y);
return this.y;
}
} |
La classe segment
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public class Segment {
private Point p1,p2;
public Point getPoint1(){
return p1;
}
public Point getPoint2(){
return p2;
}
public void setPoints(Point p1, Point p2){
this.p1 = p1;
this.p2 = p2;
}
} |
Lorsque je créer un point, il est bien initialisé directement par x=0 et y=0.
Code:
1 2
| Point B = new Point();
System.out.println(B.getX()); |
me donne bien 0.0
Pourtant lorsque je crée un segment, les deux points ne s'initialise pas avec (0,0) ! Je ne comprend pas pourquoi !
Code:
1 2
| Segment S = new Segment();
System.out.println(S.getPoint1().getX()); |
me donne NullPointerException !
Même si je fait
Code:
1 2
| Segment S = new Segment();
System.out.println(S.getPoint1()); |
Ca me donne Null.
Pourquoi ma classe segment de crée-t-elle pas directement des points de valeur (0.0) ??
Si vous avez une idée, un grand merci :)