Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Variáveis estáticas e Variáveis do tipo Final(constantes)

Por favor, de forma prática qual seria a diferença entre um atributo do tipo estático e um atributo do tipo final (constante)?

3 respostas

Vanderlei boa noite! Irei dar um exemplo dos atributos.

public class Carro {
    public static String cor;

}

Aqui é um atributo estatico. Aqui para você usar esse atributo, irá precisar da Classe para poder usar.

Carro.cor

Sempre atributo estatico sempre sera acessivel pela class.

Já com atributo final.

public class Carro {

public final String cor = "preto";
}

A cor desse carro sempre ira ser preto. Você não consegue mudar a cor mais do carro. Deu pra dar uma clareada?

solução!

Vanderlei, só pra dar mais uma complementada no que o Alisson já passou...

Uma classe final não pode ser estendida.

Um método final não pode ser sobrescrito nas subclasses.

Um atributo final não muda seu valor.

Uma classe estática é uma classe declarada dentro de outra classe, que pode ser usada sem a necessidade de uma instância.

Um método estático é um método que pode ser chamado sem que seja preciso instanciar o objeto da classe que o contém.

Um atributo estático possui o mesmo valor em todas as instâncias do objeto.

Bons estudos!

Abraço.

Apenas complementando mais ainda o exemplo do Manoel e do Alisson, é bom frisar que um método final não pode ser sobrescrito nas subclasses, mas nada impede que ele seja sobrecarregado.