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 :

Nouvelle classe String


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de mme_chelaou
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2008
    Messages : 126
    Par défaut Nouvelle classe String
    Bonjour tout le monde,

    J'ai une classe qui contient un main qui affiche la valeur d'un variable qui est déclaré dans cette classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class MaClasse{
       private static ct1.String maChaine = "tester";
       public static void main (String[] args) {
          System.out.println(maChaine);
       }
    }
    Sachant que j'ai crée une nouvelle classe de String. Avant de la créer et si j'exécute le code, on m'affiche bien la valeur de maChaine. Mais une fois la classe String est créée et en exécutant le code, un message est affiché pour dire que MaClasse n'a aucune méthode main.

    Est ce que quelqu'un peut m'expliquer pourquoi ?

    Merci bien

  2. #2
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut
    D'où vient ct1?

  3. #3
    Membre confirmé Avatar de mme_chelaou
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2008
    Messages : 126
    Par défaut
    ct1 est le nom du package bien entendu

  4. #4
    Membre confirmé Avatar de mme_chelaou
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2008
    Messages : 126
    Par défaut
    Pour être un peu plus claire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class MaClasse {
     
    	private final static CT1.String MON_MESSAGE = new CT1.String("Tester...!");
     
    	public static void main(String args[]) {
    		System.out.println( MaClasse.MON_MESSAGE );
    	}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class String {
    	private java.lang.String content;
     
    	public String(java.lang.String content) {
    		super();
    		this.content = content;
    	}
     
    	public java.lang.String toString() {
           return content;
        }
    }
    Si vous exécutez ce code, vous aurez un message disant qu'il y a pas de classe main. Pourquoi et comment résoudre ce problème.
    Merci

  5. #5
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut
    Essaye de nommer ta classe String avec un nom non reservé à java

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    @omar344
    String n'est pas un mot réservé de java, c'est seulement un nom d'une dans l'API standard.

    @mme_chelaou
    ça vient du fait que les 2 classes sont dans la même package, donc il importe implicitement ta classe String au lieu de java.lang.String, ainsi ta méthode main est définie comme public static void main(CT1.String[] args).
    Tu dois donc mettre explicitement le chemin vers la classe java.lang.String dans la méthode main.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public static void main(java.lang.String[] args) {
    		System.out.println( MaClasse.MON_MESSAGE );
    	}
    A+.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/08/2008, 13h33
  2. [C++]la classe String
    Par bechbech dans le forum MFC
    Réponses: 5
    Dernier message: 01/04/2006, 15h35
  3. Fuite mémoire de la classe string
    Par jean_barac dans le forum SL & STL
    Réponses: 7
    Dernier message: 28/07/2005, 23h12
  4. [FLASH MX2004] Faire un array d'une nouvelle class
    Par fransouik dans le forum Flash
    Réponses: 9
    Dernier message: 27/12/2004, 17h39

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