Palavras chave da linguagem Java
From Wiki**3
abstract
Classe
Método
boolean
break
byte
case
Ver switch
.
catch
Ver try
.
char
class
continue
default
Ver switch
.
do
Ver while
.
double
else
Ver if
.
extends
Ver class
.
final
A palavra chave final
implica que a entidade à qual é aplicada é de alguma forma imutável.
Atributos
Um atributo declarado final
não pode ser alterado, só podendo ser iniciado (i.e., valor definido por omissão ou pelo construtor - neste caso, apenas se não tiver sido definido por omissão).
class A { // valor de _i não foi iniciado explicitamente final int _i; // ok: _i fica com o valor final 3 A() { _i = 3; } // erro: não se pode alterar um atributo final //void f() { _i = 4; } }
class B { // _i já tem, por omissão, o valor 3 final int _i = 3; // erro: não se pode alterar um atributo final //B() { _i = 3; } // erro: não se pode alterar um atributo final //void f() { _i = 4; } }
Métodos
Um método declarado final
numa classe não pode ser redefinido em nenhuma sublasse dessa classe.
class X { void f() { /* qualquer coisa */} } class Y extends X { // ok: redefinição de X.f() final void f() { /* ... */ } } class Z extends Y { // erro: f() é final em Y //void f() { /* ... */ } }
Classes
Quando aplicado a uma classe, final
impede que ela venha a ser especializada.
final class UmaClasse { /* definição da classe */ } // erro: não se pode derivar de uma classe final //class OutraClasse extends UmaClasse { /* ... */ }
Interfaces
As interfaces não podem ser afectadas por final
.
// ilegal //final interface UmInterface { /* definição da interface */ }
finally
Ver try
.
float
for
if
implements
Ver interface
.
import
int
interface
long
new
Operador.
package
private
protected
public
return
short
static
super
switch
synchronized
this
Referência
Referência para o objecto "actual", i.e., para o objecto no contexto do qual se executa o código onde aparece a referência. O exemplo seguinte, embora não siga as regras de nomenclatura, ilustra o uso de this
como forma de desambiguar as variáveis no construtor.
class A { int x; A(int x) { this.x = x; } }
O seguinte exemplo mostra o uso como auto-referência: o objecto passa-se a si próprio como argumento de uma operação:
class A { void f(A a) { /* operação sobre um "a" do tipo "A" */ } void g() { f(this); // operação sobre objecto do tipo "A" (o próprio) } }
Sintaxe de Construção
Num construtor, esta palavra reservada pode ser utilizada para chamar explicitamente outro construtor da mesma classe. Quando é utilizado desta forma, this
pode ocorrer apenas uma vez e deve aparecer como a primeira instrução do construtor.
class A { A(int i) { /* qualquer coisa */ } A(float f, int i) { this(i); // chamada ao primeiro construtor /* resto do segundo construtor */ } }
throw
throws
try
void
Tipo primitivo que representa a ausência de valor retorno de um método.