10 erros a evitar em Java

Pegar erros comuns em programação Java antes de torná-los. Aqui está uma pequena lista de dez coisas que atente para em seu código.

Colocar letras maiúsculas onde eles pertencem

Java é uma linguagem case-sensitive, então você realmente tem que cuidar da sua Pareia Qs - juntamente com todas as outras letras do alfabeto. Aqui estão alguns detalhes para manter em mente ao criar programas Java:

  • palavras-chave do Java são todos completamente minúsculas. Por exemplo, em uma aplicação Java E se declaração, a palavra E se não pode ser E se ou E SE.

  • Quando você usa nomes da API Java (Application Programming Interface), o caso dos nomes tem de corresponder ao que aparece no API.

  • Você também precisa se certificar de que os nomes que compõem a si mesmo são capitalizados da mesma forma ao longo de todo o seu programa. Se você declarar um minha conta variável, você não pode se referir a ele como Minha conta, minha conta, ou Minha conta. Se você capitalizar o nome da variável de duas maneiras diferentes, Java pensa que você está se referindo a duas variáveis ​​completamente diferentes.

Romper com uma instrução switch

Se você não sair de uma interruptor declaração, você começa cair por ele. Por exemplo, se o valor de versículo é 3, as seguintes impressões código Todas as três linhas - Última refrão, Ele é uma dor, e Não tem cérebro.

switch (verso) {case 3: out.print ( "Last refrão") -out.println ( "último refrão") - Processo 2: out.print ( "Ele é uma dor,") -out.println ( " ele é uma dor ",) - case 1: out.print (" não tem cérebro ") -out.println (" não tem cérebro ") -}

Comparando os valores com um duplo sinal de igual

Quando você compara dois valores com o outro, você usa um sinal de igual duplo. A linha

if (entraNumero == randomNumber)

está correta, mas a linha

if (entraNumero = randomNumber)

não é correto.

Adicionando componentes a uma GUI

Aqui está um construtor para um quadro de Java:

SimpleFrame pública () {botão JButton = new JButton ("Obrigado...") -setTitle ("...Connie Santisteban e Brian Walls ") -setLayout (New FlowLayout ()) -adicionar (botão) -button.addActionListener (this) -setSize (300, 100) -setVisible (true) -}

Faça o que fizer, não se esqueça a chamada para o adicionar método. Sem esta chamada, você vai para todo o trabalho de criação de um botão, mas o botão não aparece em seu quadro.

Adição de ouvintes para manipular eventos

Olhe novamente para o código da seção anterior para construir um SimpleFrame. Se você esquecer a chamada para addActionListener, nada acontece quando você clica no botão. Ao clicar no botão mais uma segunda vez não ajuda.

Definindo os construtores necessários

Quando você define um construtor com parâmetros, como em

Temperatura pública (número duplo)

em seguida, o computador já não cria um construtor sem parâmetros padrão para você. Em outras palavras, você não pode mais chamar

Temperatura roomTemp = new temperatura () -

a menos que você definir explicitamente seu próprio parameterless Temperatura construtor.

Corrigindo referências não-estáticos

Se você tentar compilar o código a seguir, você recebe uma mensagem de erro:

classe WillNotWork {saudação String = "Olá" -public void main (args String []) estáticos {System.out.println (cumprimento) -}}

Você recebe uma mensagem de erro porque a Principal é estático, mas cumprimento não é estática.

Ficar dentro de limites em uma matriz

Quando você declarar uma matriz com dez componentes, os componentes têm índices de 0 a 9. Em outras palavras, se você declarar

convidados int [] = new int [10] -

em seguida, você pode consultar a convidados componentes da matriz por escrito os hóspedes [0], os hóspedes [1], e assim por diante, todo o caminho até os hóspedes [9]. Você não pode escrever convidados [10], porque o convidados array tem nenhum componente com o índice 10.

Antecipando ponteiros nulos

exemplos deste livro não são propensos a lançar a Null Pointer Exception, mas na vida real de programação Java, você vê essa exceção o tempo todo. UMA Null Pointer Exception acontece quando você chamar um método que é suposto para retornar um objeto, mas em vez disso o método retorna nada. Aqui está um exemplo barato:

ListMyFiles importação java.lang.System.out-import java.io.File de classe estática {void main (args String []) public static {myFile File = new File ("janelas") -String Dir [] = myFile.list () - para (String fileName: dir) {out.println (fileName) -}}}

Este programa exibe uma lista de todos os arquivos no janelas diretório.

Mas o que acontece se você mudar janelas a outra coisa - algo que não representa o nome de um diretório?

Arquivo myFile = new File ("*% $ !!") -

Então o novo arquivo retornos de chamada nulo (Uma palavra significado especial Java nada), De modo que a variável meu arquivo não tem nada nele. Mais tarde no código, a variável dir refere-se a nada, ea tentativa de percorrer todos os dir valores falha miseravelmente. Você ganha um grande Null Pointer Exception, eo programa desaba ao seu redor.

Para evitar este tipo de calamidade, verifique a documentação da API do Java. Se você está chamando um método que pode retornar nulo, adicionar o código de exceção de manuseio para o seu programa.

Ajudando Java encontrar os seus arquivos

Você está compilar o código Java, cuidando da sua vida, quando o computador dá-lhe uma NoClassDefFoundError. Todos os tipos de coisas podem estar acontecendo de errado, mas as chances são boas de que o computador não consegue encontrar um arquivo Java particular. Para corrigir isso, você deve alinhar todos os planetas corretamente:

  • O diretório do projeto tem de conter todos os arquivos Java cujos nomes são usados ​​em seu código.

  • Se você usar pacotes nomeados, o diretório do projeto tem que ter subdiretórios apropriadamente nomeado.

  • Seu CLASSPATH deve ser definido corretamente.

menu