Bonjour
Je cherche un truc tout bête à savoir dans ma classe main, je cherche à récupérer le nom du programme. Je pourrais l'écrire en dur mais je ne trouve pas ça terrible. J'ai aussi cherché dans la classe System et dans la FAQ sans succès.
Bonjour
Je cherche un truc tout bête à savoir dans ma classe main, je cherche à récupérer le nom du programme. Je pourrais l'écrire en dur mais je ne trouve pas ça terrible. J'ai aussi cherché dans la classe System et dans la FAQ sans succès.
La question est qu'est ce que tu appelles le nom du programme, car cette notion n'existe pas vraiment en java:
- Le nom de la classe qui contient le main?
- Le nom d'un jar qui contient ton programme?
je crée monFichier.java et en fait j'aimerai récupérer monFichier dans un String.
Normalement, si je fais les choses correctement c'est aussi le nom de la classe
Tu peux faire :
et ça te sort le nom de la classe (mais le chemin complet avec les packages)
Code : Sélectionner tout - Visualiser dans une fenêtre à part getClass().getName()
J'avais déjà essayé ceci et à la compilation il me retournait ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 non-static method getClass() cannot be referenced from a static context System.out.println(getClass().getName()); ^ 1 error
Salut,
Tu peux essayer ceci:
Cordialement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 NomDeLaClasse objet = new NomDeLaClasse(); System.out.println(objet.getClass().getName());
Dan
Bonjour,
Ton compilateur t'indique que tu souhaite accéder à une méthode d'instance à partir d'une méthode statique.
Lorsque tu mets
Le compilateur sous entend que tu as écrit
Code : Sélectionner tout - Visualiser dans une fenêtre à part System.out.println(getClass().getName());
L'usage du this est impossible dans une méthode statique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part System.out.println(this.getClass().getName());
Pour accéder à la méthode getClass() tu dois donc créer ne instance de la classe voulue.
Voici un petit exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class Main { public static void main(String[] args) { Main m = new Main(); //Creation d'une instance System.out.println(m.getClass().getName()); //Obtention du nom de la classe } }
danimo c'est n'importe quoi. Pour récupérer un class depuis un environnement statique:
mais si c'est pour faire ca autant écrire directement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 System.out.println(NomDeLaClasse.class.getName());
Code : Sélectionner tout - Visualiser dans une fenêtre à part System.out.println("NomDeLaClasse");
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager