JAVA - Impossible d'instancier une classe !

Fermé
S.BOURGIN Messages postés 6 Date d'inscription mercredi 16 octobre 2002 Statut Membre Dernière intervention 23 octobre 2002 - 22 oct. 2002 à 12:03
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 - 23 oct. 2002 à 15:13
Bonjour,

- Microsoft Windows XP
- SDK 1.4.1.01
- JCreator 2.5

Je débute en programmation JAVA et je doit réaliser un exercice simple sur le concept des classes. Cependant, je n'arrive par à instancier mes classes ! Je ne pense pas que cela vient de mon programme car j'ai téléchargé des exemples et lors de l'intenciation JCreator me retourne le meme message d'erreur.

public class LP_TD2_EXO1
{
public class COMPTE
{
public String Numero;
public float Solde;

public COMPTE(String $Num)
{
this.Numero=$Num;
this.Solde=0;
}
}

public static void main(String args[])
{
COMPTE C1 = new COMPTE();
}
}


MESSAGE ERREUR A LA COMPILATION :

F:\www\java\LP_TD2_EXO1.java:63: non-static variable this cannot be referenced from a static context
COMPTE C1 = new COMPTE();



Quelqu'un pourrait m'aider SVP parceque là je n'avance pas dans l'exo ? :o(

Merci
A voir également:

5 réponses

BigFlo93 Messages postés 51 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 30 octobre 2002 5
22 oct. 2002 à 14:24
Salut !

Je pense savoir d'ou viens ton erreur. Ton instanciation c'est ca mais c'est pas ca !
Tu ne passes pas de parametres lors de ton instanciation mais ta méthode attends un parametre. donc il faut que tu fasses ceci pour que ca marche:
COMPTE C1 = new COMPTE(num);

Si tu veux ne pas passer de parametre, tu doit rajouter dans ta classe COMPTE ceci:
public void COMPTE() { ... }

voila, je pense que c'était ca !
0
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
23 oct. 2002 à 08:14
En gros c'est plus ou moins ça

il faut savoir que lorsque tu crée une classe, java crée par défaut un constructeur ne réclamant pas d'arguments

public COMPTE();

donc si tu crées un constructeur réclamant des arguments

public COMPTE(String arg);

mais que tu appelles le constructeur par défaut, l'instance est bien créée mais tes variables ne seront pas celles que tu attends.
voici un exemple avec les deux possibilités:

Dans le code ci dessous, les deux constructeurs sont implémentés avec une méthode permettant de donner une valeur à la variable numero;


public class COMPTE
{
public String numero;
public float solde;

public COMPTE(String $Num)
{
this.numero=$Num;
this.solde=0;
}

public COMPTE(){
this.numero = "";
this.solde = 0;
}

public void setCompte(String $Num){
this.numero = $Num;
}

public String getCompte(){
return this.numero;
}

public static void main(String args[])
{
COMPTE C1 = new COMPTE();
C1.setCompte("5");
System.out.println(C1.getCompte());
COMPTE C2 = new COMPTE("6");
System.out.println(C2.getCompte());
}
}


Un petit conseil si tu débutes, par convention, les noms des variables en java , habitues toi à les nommer en commençant par une minuscule ( private String leString). Ceci afin de faciliter la dfférenciation entre les classes et les variables.

Choubanimal : 
"L'alcool est un ennemi", c'est lâche de fuir l'ennemi
0
Joshua42 Messages postés 77 Date d'inscription vendredi 4 janvier 2002 Statut Membre Dernière intervention 18 décembre 2006 8
23 oct. 2002 à 08:48
de la meme facon pour le nom de tes classes met le premier caractere en majuscule et les autres en minuscules. c est mieux.
0
Salut,

Merci de tes remarques Joshua42, effectivement il y avait un problème dans le code source que j'avais diffusé. Mais c'était lié à une faute de frappe.

Mon vrai problème a été résolu en plaçant mes classe dans des fichiers .java séparé.

Merci et @+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
23 oct. 2002 à 15:13
de rien, de rien

Choubanimal : 
"L'alcool est un ennemi", c'est lâche de fuir l'ennemi
0