10 erreurs à éviter en java

Catch erreurs courantes dans la programmation Java avant de les rendre. Voici une courte liste de dix choses à surveiller dans votre code.

Sommaire

Mettre lettres capitales où ils appartiennent

Java est un langage sensible à la casse, si vous avez vraiment l'esprit de votre Ps et Qs - avec tous les autres lettres de l'alphabet. Voici quelques détails à garder à l'esprit que vous créez des programmes Java:

  • Les mots-clés de Java sont tous complètement minuscules. Par exemple, dans un Java si déclaration, le mot si ne peut pas être Si ou SI.

  • Lorsque vous utilisez des noms de l'API Java (Application Programming Interface), le cas des noms doit correspondre à ce qui apparaît dans l'API.

  • Vous devez également vous assurer que les noms que vous faire vous-même sont capitalisés de la même manière dans l'ensemble de votre programme. Si vous déclarez une mon compte variable, vous ne peut pas se référer à lui comme Mon compte, mon compte, ou Mon compte. Si vous capitalisez le nom de la variable de deux manières différentes, Java pense que vous faites allusion à deux variables complètement différentes.

Sortir d'une instruction switch

Si vous ne cassez pas d'un interrupteur déclaration, vous obtenez fall-through. Par exemple, si la valeur de verset est 3, les gravures de code suivants tous les trois lignes - Dernier refrain, Il est une douleur, et N'a pas de cerveau.

interrupteur (verset) {case 3: out.print ("Dernier refrain,") -out.println («dernier refrain,") - Cas 2: out.print ("Il est une douleur,") -out.println (" il est une douleur, ") - Cas 1: out.print (" n'a pas de cerveau, ") -out.println (" n'a pas de cerveau, ") -}

En comparant les valeurs avec un double signe égal

Lorsque vous comparez deux valeurs avec un autre, vous utilisez un double signe égal. La ligne

si (== inputNumber randomNumber)

est correcte, mais la ligne

si (inputNumber = randomNumber)

n'est pas correcte.

Ajout de composants à une interface graphique




Voici un constructeur pour un cadre de Java:

SimpleFrame publique () {bouton JButton = new JButton ("Merci...") -setTitle ("...Connie Santisteban et Brian Walls ") -setLayout (nouvelle FlowLayout ()) -ajouter (bouton) -button.addActionListener (cette) -setSize (300, 100) -setVisible (true) -}

Quoi que vous fassiez, ne pas oublier l'appel à la ajouter Procédé. Sans cet appel, vous allez à tout le travail de création d'un bouton, mais le bouton ne se présente pas sur votre cadre.

Ajout d'auditeurs à gérer les événements

Regardez à nouveau le code de la section précédente pour construire un SimpleFrame. Si vous avez oublié l'appel à addActionListener, rien ne se passe lorsque vous cliquez sur le bouton. Cliquez sur le bouton plus difficile une deuxième fois ne contribue pas.

Définir les constructeurs requises

Lorsque vous définissez un constructeur avec des paramètres, comme dans

Température publique (numéro double)

puis l'ordinateur ne crée plus un constructeur sans paramètre par défaut pour vous. En d'autres termes, vous ne pouvez plus appeler

Température roomTemp = new Température () -

à moins que vous définissiez votre propre parameterless Température constructeur.

Fixation des références non statiques

Si vous essayez de compiler le code suivant, vous obtenez un message d'erreur:

classe WillNotWork {String greeting = "Bonjour" void main (String args []) {System.out.println -publics statiques (saluant) -}}

Vous obtenez un message d'erreur parce que principal est statique, mais salutation est pas statique.

Rester dans les limites d'un tableau

Lorsque vous déclarez un tableau avec dix composants, les composants ont des indices de 0 à 9. En d'autres termes, si vous déclarez

invités int [] = new int [10] -

alors vous pouvez vous référer à la invités les composants de tableau par écrit invités [0], clients [1], et ainsi de suite, tout le chemin jusqu'à invités [9]. Vous ne pouvez pas écrire invités [10], parce que le invités tableau n'a pas de composante d'indice 10.

Anticiper pointeurs nuls

Les exemples de ce livre ne sont pas enclins à jeter le NullPointerException, mais dans la vie réelle programmation Java, vous voyez cette exception tout le temps. UN NullPointerException vient quand vous appelez une méthode qui est censé renvoyer un objet, mais la méthode ne renvoie rien. Voici un exemple pas cher:

ListMyFiles static import-import java.io.File java.lang.System.out classe {void main (String args []) {public static myFile File = new File (" windows") -string Dir [] = myFile.list () - pour (string filename: dir) {out.println (nom de fichier) -}}}

Ce programme affiche une liste de tous les fichiers dans le fenêtres répertoire.

Mais qu'advient-il si vous changez windows à autre chose - quelque chose qui ne représente pas le nom d'un répertoire?

Déposer myFile = new File (»*% $ !!") -

Puis le new File retours appel nul (une signification particulière de mot de Java rien), De sorte que la variable myFile n'a rien en elle. Plus tard dans le code, la variable dir se réfère à rien, et la tentative de boucle à travers tous les dir valeurs échoue lamentablement. Vous obtenez un grand NullPointerException, et le programme vient écraser autour de vous.

Pour éviter ce genre de calamité, consultez la documentation de l'API de Java. Si vous appelez une méthode qui peut retourner null, ajouter du code gestion des exceptions à votre programme.

Aider Java trouver ses fichiers

Vous êtes la compilation du code Java, en pensant à votre propre entreprise, lorsque l'ordinateur vous donne un NoClassDefFoundError. Toutes sortes de choses peuvent aller mal, mais les chances sont bonnes que l'ordinateur ne peut pas trouver un fichier Java particulier. Pour corriger cela, vous devez aligner toutes les planètes correctement:

  • Votre répertoire de projet doit contenir tous les fichiers Java dont les noms sont utilisés dans votre code.

  • Si vous utilisez des paquets nommés, répertoire de votre projet doit avoir des sous-répertoires nommés de manière appropriée.

  • Votre CLASSPATH doit être correctement réglée.


» » » » 10 erreurs à éviter en java