begin process at 2008 07 21 01:46:11
1 213 551 membres
20 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Classe interne selon Claude Delannoy [ Divers / Général ] (loloof64)

Classe interne selon Claude Delannoy le 13/11/2007 12:41:13

loloof64
Membre Club
Bonjour,

Désolé si cette question pourra parître trop triviale pour être posée, d'ailleurs même après avoir effectué une recherche sur le forum, je n'ai pas vu de discussion traitant à proprement dit ce sujet .


1) Dans la 3eme (et dernière édition à ce jour) du livre Programmer en Java de Claude Delannoy, on peut lire à peu près ceci

public class E {
  //...
  public class I {
    //...
 }
  //...
}


Il nous précise alors que pour accéder à la classe I depuis l'extérieur de E (les packages n'ont pas encore été présentés à cet endroit du livre) on peut procéder de la manière suivante :

E.I i;
E e = new E();
i = new e.I();

2) Je dispose de Java 6.0 SDK, Standard Edition . Dans un package identique j'ai :
créé la classe E, sans rien y ajouter, sans rien y retirer; et une classe de test déclarée comme suit

public class TestsMain {

    public static void main(String[] args) {
       
        E.I i;
        E e = new E();
        i = new e.I();
       
    }

}

3) Voilà mon problème : en ayant respecté la procédure de Claude Delannoy, l'EDI Eclipse me retourne (avant même la compilation) : "e cannot be resolved to a type" .
Sauriez-vous alors où me suis-je trompé ? (J'ai déjà pu relever quelques erreurs dans le livre, mais je pense que là l'erreur ne vient pas du livre. )

Re : Classe interne selon Claude Delannoy le 13/11/2007 13:07:51

DARKSIDIOUS
Membre Club
(Admin CS)
Salut,

Il manquerait pas l'import dans la classe E par hasard ?
______________________________________
DarK Sidious

Re : Classe interne selon Claude Delannoy le 13/11/2007 13:38:23

loloof64
Membre Club

Salut DarkSidious,

J'ai mis les classes E et TestMain dans le même package : com.loloof64.simpletests; , donc je pense que le problème ne vient pas des imports déclarés dans la classe TestMain. Par contre il manque peut-être quelquechose dont je ne  me serais pas rendu compte dans les déclarations des imports du fichier E.java .


Re : Classe interne selon Claude Delannoy le 13/11/2007 14:27:21

the_wwt
Bonjour,
bien non ca marche pas et c'est normal... Il faut faire:
E.I i = new E.I(); // au lieu de new e.I();

Cordialement,
Pierrick

Re : Classe interne selon Claude Delannoy le 13/11/2007 14:35:52

loloof64
Membre Club

Bonjour Pierrick,

Ta soltuion marche si je déclare I static à l'intérieur de E : je l'ai modifié comme cela un moment pour tester et je l'ai appelé comme tu viens de me le dire dans le main ==> cela avait déjà fonctionné .

Non le problème vient du fait que l'auteur du livre précise qu'il est aussi possible d'appeler le constructeur de I de l'extérieur sans forcément que I soit déclarée comme static ==> là je n'arrive pas à l''appeler depuis le main() .

Je suis sûr que c'est possible, après comment ? => Je ne sais pas .


Re : Classe interne selon Claude Delannoy le 13/11/2007 14:36:00

the_wwt
Réponse acceptée !
Bonjour,
autant pour moi cela ne marche pas non plus... Mon eclipse me dit de faire:
E e = new E();
E.I i = e.new I();
cdlt,
Pierrick

Re : Classe interne selon Claude Delannoy le 13/11/2007 14:43:11

loloof64
Membre Club

Merci beaucoup Pierrick :)

j'ai la version 3.2.1 de Eclipse : il a été incapable de me fournir une correction de ma syntaxe. En revanche, il accèpte ta réponse sans problème .

merci :) C'est Claude Delannoy qui s'est trompé, manifestement .



Classé sous : public, classe, livre, claude, delannoy

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

Snippets en rapport

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS