Vídeo: Curso de Java 34 - Orientação a Objetos: Variáveis e metodos estáticos (modificador static) 2024
Em Java, um membro estático é um membro de uma classe que não está associada a uma instância de uma aula. Em vez disso, o membro pertence à própria classe. Como resultado, você pode acessar o membro estático sem primeiro criar uma instância de classe.
Os dois tipos de membros estáticos são campos estáticos e métodos estáticos:
-
Campo estático: Um campo declarado com a palavra-chave estática, assim:
private static int ballCount;
A posição da palavra-chave estática é intercambiável com as posições das palavras-chave de visibilidade (privadas e públicas, bem como protegidas). Como resultado, a seguinte declaração funciona, também:
static private int ballCount;
Como convenção, a maioria dos programadores tende a colocar a palavra-chave de visibilidade primeiro.
O valor de um campo estático é o mesmo em todas as instâncias da classe. Em outras palavras, se uma classe tiver um campo estático chamado CompanyName, todos os objetos criados a partir da classe terão o mesmo valor para CompanyName.
Os campos estáticos são criados e inicializados quando a classe é carregada pela primeira vez. Isso acontece quando um membro estático da classe é referido ou quando uma instância da classe é criada, o que ocorrer primeiro.
-
Método estático: Um método declarado com a palavra-chave estática. Como os campos estáticos, os métodos estáticos são associados à própria classe, não com nenhum objeto específico criado a partir da classe. Como resultado, você não precisa criar um objeto de uma classe antes de usar métodos estáticos definidos pela classe.
O método estático mais conhecido é o principal, que é chamado pelo tempo de execução Java para iniciar um aplicativo. O método principal deve ser estático, o que significa que os aplicativos são executados em um contexto estático por padrão.
Uma das regras básicas de trabalho com métodos estáticos é que você não pode acessar um método ou campo não estático a partir de um método estático porque o método estático não possui uma instância da classe a ser usada para fazer referência a métodos ou campos de instância.