A palavra-chave static transforma atributos e métodos em membros da classe, e não do objeto.
Isso significa que eles pertencem a todos os objetos ao mesmo tempo — ou até mesmo à própria classe, independentemente de existir algum objeto criado.
É como um recurso compartilhado da Vila da Folha: todos os ninjas podem acessar.
static existe?Porque algumas informações ou comportamentos não dependem do objeto, e sim da classe como um todo.
Exemplos:
Math.sqrt(...)).public static void mainpublic static void main(String[] args)
Esse é o ponto de entrada de qualquer aplicação Java.
static?Porque a JVM precisa chamar o método main sem criar um objeto da classe.
Imagine:
Se main não fosse estático, precisaria fazer:
new MinhaClasse().main(args);
→ Mas qual construtor chamar?