IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

inner class and static way


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 49
    Par défaut inner class and static way
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class A {
        public static method(){
     
       }
     
       class B{
              public B(){
             }
       }
    }
    Bon j'explique je n'arrive pas a creer un objet B (inner class de A)dans ma methode static de la classe A.

    j'ai essaye A.B o = A.new B();

    Mais le probleme, c'est qu'en plus je ne dipose pas d'objet A , j'accede à la methode par A.method()

    Voila donc si vous avez une idée, je suis preneur ...

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    C'est parce que les inner-classe sont lié à une instance de la classe parent, tu ne peut donc les créer que depuis une méthode non-static de la classe parent, ou alors en la liant explicitement avec un instance existante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            A objectA = new A();
            A.B objectB = objectA.new B();
    Si ta classe B n'a aucun lien avec la classe parente, tu dois la déclarer en static.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class A {
        public static void method(){
            A.B objectB = new A.B();
       }
    
      static class B{
              public B(){
             }
       }
    }
    a++

Discussions similaires

  1. Inner Class ou lisibilité
    Par Emplyst dans le forum Langage
    Réponses: 4
    Dernier message: 17/07/2006, 21h06
  2. Es ce possible de faire des inner class en C++?
    Par Eithelgul dans le forum C++
    Réponses: 5
    Dernier message: 14/02/2005, 14h27
  3. [FLASH MX2004] [AS2] Classe méthodes static
    Par bolo dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 16/12/2004, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo