Métodos estaticos
Como já foi abordado neste post, a palavra-chave static faz com que os valores e operações feitas sejam compartilhado entre todas as instâncias. Métodos e variáveis não declarados como static, a cada nova instancia seria uma nova variável onde o valor/operações de uma instancia não iria interferir na outra. Nada melhor que um exemplo para entender melhor o que foi dito. O exemplo abaixo mostra tudo isso que foi dito.
A execução deste exemplo resulta em:
class Classe1 {
public static int contStat = 0;
public int cont = 0;
public Classe1() {}
public static void incrContStat() {
contStat++;
System.out.println("contStat agora é "+ contStat);
}
public void incrCont() {
cont++;
System.out.println("cont agora é "+ cont);
}
}
public class TestaStatic {
public static void main(String args[]) {
Classe1 c1 = new Classe1();
c1.incrContStat();
c1.incrCont();
Classe1 c2 = new Classe1();
c2.incrContStat();
c2.incrCont();
Classe1 c3 = new Classe1();
c3.incrContStat();
c3.incrCont();
Classe1 c4 = new Classe1();
c4.incrContStat();
c4.incrCont();
}
}
contStat agora é 1
cont agora é 1
contStat agora é 2
cont agora é 1
contStat agora é 3
cont agora é 1
contStat agora é 4
cont agora é 1
Além disso, métodos estáticos como dito no post anterior, não necessitam da criação de objetos para a chamada deste métodos, mesmo quando em classe diferente do método que o chama. Podem, desta forma, serem acessados diretamente.
Métodos de objeto
Métodos de objetos são aqueles não declarados como static. Para o acesso deste métodos é necessária a chamada através de um objeto como já explicado anteriormente.
Nenhum comentário:
Postar um comentário