2010-01-09 6 views
1

Netbeans crée automatiquement une classe Main lorsque je crée un nouveau projet.class Main dans un paquet?

donc c'est dans le constructeur ici j'écris le code et utilise toutes les autres classes? Que se passe-t-il lorsque je renommer la classe Main en quelque chose d'autre? Cela fonctionnera-t-il encore?

+0

Avez-vous essayé de le renommer? AFAK netbeans analyse le projet pour une classe contenant la méthode 'main' afin qu'elle puisse être dans n'importe quelle classe. –

+0

J'utilise Eclipse mais il y a une pratique qui consiste à avoir une classe Main pour tester une application. Le plus souvent, il est simplement utilisé comme point d'entrée pour instancier une autre classe. –

Répondre

2

Cela ne fonctionnera pas, uniquement parce que le nom de la classe supérieure dans un fichier Java doit être nommé le même que le fichier lui-même. IE la classe Main doit être dans le fichier Main.java. Si vous renommez à la fois la classe et le fichier, cela fonctionnera.

donc c'est dans le constructeur ici j'écris le code et utilise toutes les autres classes?

Il est généralement mauvais de mettre tout votre code dans le constructeur. Le constructeur est généralement utilisé pour l'installation, comme l'initialisation des champs de la classe. Vous devez séparer votre logique dans les méthodes de la classe, ce qui peut inclure des méthodes d'appel sur des instances d'autres classes.

Et si vous voulez faire de votre classe Main un exécutable, vous pouvez écrire ce code dans une fonction avec la signature public static void main(String[] args), puis exécutez votre (compilé) classe comme java Main dans le répertoire où Main.class réside, bien que NetBeans vous fournit probablement avec un moyen de s'exécuter à travers l'EDI.

+0

Oh désolé d'une manière ou d'une autre, j'ai mal compris votre réponse. Bien sûr que ce que vous dites est vrai. Je voulais juste faire remarquer que la classe peut être nommée à n'importe quoi. Le nom de classe et le nom de fichier ne jouent aucun rôle en tant que point d'entrée pour l'application. Et supposons que l'OP voit une relation entre la classe 'Main' et la méthode' main'. Désolé pour le malentendu. –

+0

(danben, pour donner à vos électeurs une chance de changer leurs votes, s'il vous plaît modifier votre réponse - sinon ils ne peuvent pas le changer) –

+0

Et oui, il est correct que la classe peut être renommée en un nom de classe Java valide, mais Il est important de noter que le nom du fichier doit également changer (ce qui était ce que j'avais écrit en premier lieu). – danben

0

Vous pouvez renommer la classe Main, importante est la fonction main (public static). Dans la configuration du projet, vous pouvez choisir quelle classe contient la fonction principale (méthode). Mais lorsque vous renommez une classe, vous devez renommer le fichier et la classe.

Le constructeur de cette classe n'est pas important car la méthode principale est statique, donc il n'y a pas d'instance de cette classe. Vous pouvez créer si vous le souhaitez manuellement.

Questions connexes