[débutant] Static références et non-static références ?
Salut à tous,
Cette année on apprend à programmer en Java dans mon école, et je dois rendre un DM pour avant hier (lol). J'ai un ENNORME problème la en tentant de faire un truc assez propre.
Je veux déclarer une classe similitude pour y mettre une fonction similitude appelé avec quelques arguments. Sauf que éclipse me dit
Citation:
Cannot make a static-références to the non-static methode([...])
Voici mon code :
classe essais :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
Point[] t1;
Point[] t2;
int n;
Graphics g;
Graphics h1;
int angle; //A partir de la, déclaration des valeurs for la similutude
Point vect;
Point centre;
Point rapport;
Point origine;
similitude.similitude(n, angle, rapport, vect, centre, t1, t2); |
et ma classe similitude :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
public class similitude {
public Point[] similitude(int n2, int angle2, Point rapport2, Point vect2, Point centre2, Point[] polygone1, Point[] polygone2){
for(int i=0;i<n2;i++){
int xp4 = (int)((rapport2.x)*(Math.cos(angle2)*(polygone1[i].x-centre2.x)+Math.sin(angle2)*(polygone1[i].y-centre2.y)+vect2.x+centre2.x));
int yp4 = (int)((rapport2.y)*(Math.sin(angle2)*(polygone1[i].x-centre2.x)+Math.cos(angle2)*(polygone1[i].y-centre2.y)+vect2.x+centre2.x));
Point pé = new Point(xp4,yp4);
polygone2[i]=pé;
}
return polygone2;
}
} |
D'avance, merci
Le Sarvok
Re: [débutant] Static références et non-static références ?
Salut
Citation:
Envoyé par Sarvok
Je veux déclarer une classe similitude pour y mettre une fonction similitude appelé avec quelques arguments. Sauf que éclipse me dit
Citation:
Cannot make a static-références to the non-static methode([...])
Traduction en bon français: on ne peut pas faire de référence de manière statique à une méthode qui n'est pas statique.
Dans ta classe similitude (au passage, il convient de nommer les classes avec une majuscule), tu définit le constructeur similitude. La définition est faite en non-statique.
Or tu essaies d'y avoir accès depuis ta classe essais (même remarque pour la majuscule) de manière statique, en tapant:
Code:
similitude.similitude(....)
Il serait plus judicieux de créer un objet implémentant la classe similitude:
Code:
similitude tonObjet=new similitude(n, angle, rapport, vect, centre, t1, t2);