Pesquisar na Comunidade
Mostrando resultados para as tags ''static''.
Encontrado 1 registro
-
Olá pessoal, tudo bem? Devido a umas dúvidas levantadas na shoutbox, resolvi criar esse tópico para ajudar os iniciantes em relação ao static, primeiramente, o que é um método static? Resumindo um pouco, podemos falar que quando declaramos algo com static, todas as instâncias da classe irão compartilhar a mesma cópia da variável ou método. Ou seja, se fizermos uma classe chamado carro: public class Carro { private static int contagem; private Modelo m; private Cor c; public Carro(Modelo m, Cor c){ this.m = m; this.c = c; Carro.contagem++; //Atenção a essa parte do código } //Getters and setters do modelo e da cor public static int getContagem(){ return Carro.contagem; //Um método static, não pode utilizar valores não estaticos } } Vamos supor que criemos 2 objetos do tipo carro: Carro a = new Carro(...); //Contagem = 1 Carro b = new Carro(...); //Contagem = 2 Como um método estatico será uma cópia a todas as classes, a contagem ira crescer toda vez que um método for criado, e se pegarmos a contagem de ambas as instancias, o valor sempre será 2 (até que a contagem seja incrementada novamente)... (posso estar enganado, mas acho que nem podemos pegar o valor da instancia) Carro a = ...; Carro b = ...; Carro c = ...; Carro.getContagem(); //Irá retornar 3 até que o valor seja incrementado novamente! Exemplos de como usar o static: Exemplo 1: Para controle de número total de objetos Imagine que você é dono de uma loja de venda de veículos. Cada um que vende, é um comprador diferente, dados diferentes etc. Portanto, cada carro será um objeto. Você cria a variável estática 'total', e no construtor a incrementa (total++). Pronto, saberá quantos carros foram vendidos, automaticamente. Um exemplo parecido, seria para um aplicativo de uma escola ou empresa, para controle de quantos funcionários existem na empresa, ou em cada setor dela. Exemplo 2: Para compartilhar uma informação Muitas aplicações Java, principalmente jogos, usam o static para compartilhar informações sobre o número de objetos. O uso tem a ver algoritmos de sobre inteligência computacional. Por exemplo, em um jogo de futebol, quando você joga contra o computador. A máquina tem uma estratégia diferente dependendo do time que você escolher, do modo que você jogar, depende do número de jogadores dele e seu também. E como saber o número atual de jogadores do time deles? Ora, um método static. Pois todos os jogadores são objetos de uma mesma classe. Em um jogo de luta, se existirem 3 inimigos contra 2 personagens seus. Provavelmente o computador vai te atacar. Mas se você matar dois deles, eles estarão em desvantagem. Existe então um método que faz com que os inimigos corram, caso o número de jogadores dele seja menor que o seu. Para obter essa informação, os objetos devem partilhar da informação: número de personagens vivos. Então galera, essa foi uma explicação básica sobre static, por favor, quem manjar ajuda ai a deixar esse tópico melhor ainda! Se gostou de um like! E comentários são sempre bem vindos! PS: BIBLIOGRAFIA(Recomendo muito acessarem) http://www.javaprogressivo.net/2012/10/static-Usando-membros-estaticos-em-Java.html http://leandrokersting.blogspot.com.br/2008/01/quando-e-porqu-usar-static.html