Olá gostaria de saber o que são coisas static, eu até uso o implemento static mas nunda entendi sua funcionalidade, sempre que eu leio algo a respeito minha dúvida só aumenta. Exemplo:
public class Teste{
public static void main(String[] args){
}
}
Não entendo o porquê o uso do static, sem falar que esse valor aparentemente pôde ser definido para variáveis também. Se alguém puder me explicar ficarei muito agradecido.
De forma bem simples e grosseira o static
faz com que um método ou atributo pertença a classe e não ao objeto! (Entenda objeto como sendo uma instância da classe)
Exemplo:
public class Teste {
public static String frase = "Uma frase qualquer";
public String nome;
}
Se eu quiser acessar a propriedade frase
da classe Teste
, eu não preciso de uma instância desta classe para obtê-lo, pois o mesmo pertence a classe e não ao objeto.
Sendo assim, se eu modificar o valor da propriedade frase
, por ele pertencer à classe esse valor será refletido para todo em qualquer ponto que eu tente acessá-lo, ou seja, ele será único para todo mundo.
Já a propriedade nome
ela não pertence à classe, ou seja, para cada instância de um objeto do tipo Teste
a propriedade nome
pode ter valores totalmente diferentes e únicos para cada instância.
3 curtidas
Então uma variável ou atributo com o static não precisa ser instanciado pois pertence a classe? Então a diferença é isso?
Sendo o mais simplista possível, é exatamente isso!
1 curtida