Qualquer pessoa apenas começando com desenvolvimento Java é provável encontrar o "Não é possível fazer uma referência estática para um não-estático Método " de erro. Este é um problema comum em especial nos casos em que um projeto Java contém declarações de método dentro de sua classe principal , ou está chamando métodos que não são estáticos , a partir de métodos estáticos. Compreender as causas e as soluções para o problema é um elemento chave para aprender a construir projetos Java . Causas
Se um programa Java tenta chamar um método que não é estático, a partir de um método que é estático , o compilador ou IDE ( Integrated Development Environment) irá gerar um erro . Os programadores nas fases iniciais da aprendizagem de desenvolvimento Java são mais propensos a encontrar esse erro , porque eles ainda não pode estar familiarizado com os conceitos envolvidos em Object Oriented desenvolvimento através da linguagem Java. Uma situação comum em que o erro tende a surgir é quando o método principal de um programa está tentando chamar um outro método da mesma classe, mas que não foi declarado como um método estático.
Soluções
a solução para os problemas que chamam métodos não- estáticos a partir de métodos estáticos realmente precisa ser abordado de uma forma que se adequa à aplicação . Fazendo o método estático , adicionando a palavra-chave "estático" para o contorno método pode parar o compilador reclamar e permitir que um programa seja executado. No entanto, a ocorrência do erro pode indicar que o método poderia ser melhor tratado por incluí-lo em uma declaração de classe , chamando-o pelo primeiro criar um objeto da classe .
Classes < br >
Quando os desenvolvedores Java aplicativos de design , eles dividem as várias tarefas de processamento necessários entre um conjunto de objetos. Esses objetos cada exposição um conjunto bem definido de propriedades e comportamentos , como descrito em suas declarações de classe . Os desenvolvedores podem , portanto, projetar os tipos de objetos para realizar tarefas do aplicativo , formalizando estes projetos escrevendo declarações de classe , dentro dos quais as variáveis e métodos são descritos .
Objeto Instâncias
Uma vez que um projeto de aplicativo tem uma ou mais declarações de classe incluídos na mesma, o código dentro do aplicativo pode criar instâncias de objetos . Uma instância de objeto é um elemento de código dedicado com as variáveis e métodos descritos na sua declaração de classe correspondente. Por exemplo, dada a presença de uma declaração de classe chamada " Helper" dentro de um projeto Java, o código dentro do projeto, por exemplo dentro do método principal , pode criar uma instância de objeto da classe usando a sintaxe de exemplo a seguir :
ajudante myHelper = new Helper ();
Se , dentro do " ajudante " declaração de classe, existe um método público chamado " doSomething ", o código pode chamar esse método na instância do objeto da seguinte forma: < br >
myHelper.doSomething ();
métodos estáticos
a situação mais comum em que ocorre o erro de referência estático é quando um programa tenta chamar métodos de o método principal de um projeto. O método principal é normalmente estático, para que o código dentro dele não pode chamar métodos estáticos. Se um programador cria uma declaração de método dentro da mesma classe como o principal método , o erro vai surgir a menos que o método é definido como estático. Escolhendo para criar objetos que realizam conjuntos bem definidos de atividades de aplicação permite que os programadores para dividir de forma mais eficaz os elementos dentro de um aplicativo como um todo.