significa que não podera ser alterada… por exemplo:
qdo eu tenho
isso quer dizer q a minha variavel sera constante, ou seja não irei alterala… ja qdo eu tenho uma classe final… significa q ela não pode ser herdada… por exemplo a classe String é final… pq naum tem mais implementação pra ela, se vc achar alguma pode mandar seu curriculo pra sun!!! blzinha???
flw!!! :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
Na verdade, o significado de final varia de contexto para contexto, mas a idéia principal é que recursos final não pode ser alterados
Uma classe final não pode ser transformada em subclasse.
Uma variável final não pode ser modificada quando a ela tiver sido atribuído um valor.
Um método final não pode ser sobrescrito
Na verdade, é para que ninguém possar formar uma subclasse a partir da sua classe.
Hum, ‘não pode ser modificada depois de ter sido atribuída’ não é bemm assim. O objetivo de uma ‘variável’ final, garante que após a instanciação do objeto, ela não será modificada.
[quote=Leozin]Uma variável final não pode ser modificada quando a ela tiver sido atribuído um valor.
[/quote]Isso depende do tipo de variável.
Se for uma variavel primitiva (int, double, float, char, etc…) você não consegue alterar.
mas se for uma referência a um objeto você até consegue alterar o valor, mas não a sua referencia.
Exemplo:
private final Data d = new Date();
private void alteraData(){
// não me lembro qual o método real, mas use os métodos verdadeiros para fazer este exemplo.
System.out.println(d.getHours());
d.setHours(20);
System.out.println(d.getHours());
}
Ou seja, o valor que a variavel se referencia pode ser alterada, mas a referência não. logo:
private final Data d = new Date();
private void alteraData(){
d = new Date() // Errooo!!!
}
final aplicado em classes significa de uma maneira resumida que você não poderá mais “melhor” tal classe, ou seja extender suas funcionalidades. Também é aplicado em classes por motivo de segurança, imagine alguém criando uma subclasse de String e alterando seu comportamento drasticamente, o mundo nunca mais seria o mesmo :XD: .
O final aplicado em métodos significa que o método não poderá ser sobreposto.
E finalmentefinal aplicado em variáveis quer dizer que uma vez sua variável tenha um valor atribuido a ela, este valor não poderá mais ser alterado.
:mrgreen: []´s