Heritage des classes

cs_sarrenza Messages postés 25 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 23 juin 2013 - 1 mai 2012 à 00:58
cs_sarrenza Messages postés 25 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 23 juin 2013 - 16 mai 2012 à 23:42
Bonsoir mes amis,
je suis un peut debutante donc j'ai un code ke jé créer moi même, mais il me donnée un erreur : No enclosing instance of type Personne is available due to some intermediate constructor invocation

Voilà le code:

class Personne
{
String nom;
int annee_naissance;
String adresse;
Personne(String nom,int annee_naissance)
{
this.nom=nom;
this.annee_naissance=annee_naissance;
}
String getNom()
{ return nom;}
int getNaissance()
{return annee_naissance;}
public String toString()
{ return ("je suis "+getNom()+" et je suis "+getClass().getName()); }
//**************************************************************************//

class Fonctionnaire extends Personne
{
int numeroSomme;
double salaire;
String fonction;
Fonctionnaire(String nom,int annee_naissance, int numeroSomme)
{super (nom,annee_naissance);
this.numeroSomme=numeroSomme;
}
double getSalaire()
{return salaire;}
}
//**************************************************************************//

class MedecinPublic extends Fonctionnaire
{
String specialite;
MedecinPublic(String nom,int annee_naissance,int numeroSomme,String specialite)
{super(nom,annee_naissance,numeroSomme);
this.specialite=specialite;}
}
//**************************************************************************//

class Profession_liberale extends Personne
{
int numeroCNSS;
double salaire;
String fonction;
double patente;
Profession_liberale(String nom,int annee_naissance,int numeroCNSS)
{
super(nom,annee_naissance);
this.numeroCNSS=numeroCNSS;
}
}
//**************************************************************************//

class Chomeur extends Personne
{
String diplome;
Chomeur(String nom,int annee_naissance)
{super(nom,annee_naissance);}
}
//**************************************************************************//

class Eleve extends Personne
{
String classe;
int numeroEleve;
Eleve(String nom,int annee_naissance,String classe,int numeroEleve)
{super(nom,annee_naissance);
this.numeroEleve=numeroEleve;
this.classe=classe;
}
}
//**************************************************************************//
public class Heritage {

public void main(String[] args) {
Personne[] desPersonnes=new Personne[4];
desPersonnes[0]=new Fonctionnaire("F",1980,10);
//desPersonnes[1]=new MedecinPublic("M",1970,100,"cardiologue");
desPersonnes[2]=new Eleve("E",1990,"INE1",20);
desPersonnes[3]=new Chomeur("C",1980);
for(int i=0;i<desPersonnes.length;i++)
{
System.out.println(desPersonnes[i]);;
}
}

}

}



Please help me :) merci d'avance :)

Keep Only Your Choice Everytime

4 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
1 mai 2012 à 07:44
Salut,

J'ai eu du mal à trouver étant donné que tu ne respectes pas les conventions d'écriture en java, c'est vraiment assez complexe de te lire.

Tu as créé toutes ces classes dans un même fichier et tu as définis des classes internes. Je te conseil de créer plusieurs fichiers (un par classe) et ça marchera bien mieux.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
1 mai 2012 à 07:44
Ha oui, télécharges éclipse et utilises le. Tu gageras un temps précieux.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
1 mai 2012 à 07:46
Pour les normes d'écriture :

une fonction :

public void fonction(){
   // Code
}


Les constructeurs :
public Constructeur(){
   super();
   // Code
}
0
cs_sarrenza Messages postés 25 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 23 juin 2013
16 mai 2012 à 23:42
Alors, oui j'ai dddéjà utilise Eclipse + ce sont des fichier Séparer... le probleme c'etait ' { '. Merci Bq pour l'aide :)


Keep Only Your Choice Everytime
0
Rejoignez-nous