Sintaxe

Palavras Reservadas

Java Sintaxe Palavras Reservadas

Palavras Reservadas

Palavras reservadas do java, ou keywords, são palavras que possuem significado especifico no código.

A linguagem contém 52+ palavras distribuídas em categorias com finalidades e fronteiras de uso bem definidas conforme tabela abaixo:

Palavras reservadas

As palavras reservadas na linguagem Java possuem regras de identificação e utilização conforme descrição abaixo:

  • Todas as palavras reservadas são minúsculas;
  • Nenhuma palavra reservada poderá ser utilizada definir nome de variáveis e métodos;
  • As palavras reservas determinam recursos ou características de forma individual ou agrupada para o seu algorítimo;
Conhecer e compreender todas as 52+ palavras reservadas leva tempo e prática.

Agrupando as palavras

Para uma melhor interpretação e compreensão do uso das palavras reservadas em nosso cotidiano, é necessário primeiramente, uma organização e classificação das mesmas. Sendo assim, será mais fácil compreender sua aplicabilidade.

Modificadores de acesso

PalavraDescriçãoClasseVariávelMétodo
publicAcesso de qualquer classeXXX
privateAcesso apenas dentro da classeXXX
protectedAcesso por classes no mesmo pacote e subclassesXXX

Tipos primitivos

PalavraDescriçãoClasseVariávelMétodo
booleanum valor indicando verdadeiro ou falsoXno retorno
byteum inteiro de 8 bits (signed)Xno retorno
charum carácter Unicode (16bit unsigned) (signed)Xno retorno
doubleum carácter Unicode (16bit unsigned) (signed)Xno retorno
floatum número de ponto flutuante de 32 bitsXno retorno

Modificadores de classes, variáveis ou métodos

PalavraDescriçãoClasseVariávelMétodo
abstractclasse que não pode ser instanciada ou método que precisa ser implementado, por uma subclasse não abstrataX
classespecifica uma classeX
extendsindica a superclasse que a subclasse está estendendoX
finalimpossibilita que uma classe seja estendida, que um método seja sobrescrito ou que uma variável seja reinicializadaXXX
implementsindica as interfaces que uma classe irá implementarX
interfaceespecifica uma interfaceX
nativeindica que um método está escrito em uma linguagem dependente de plataforma, como o CX
newinstancia um novo objeto, chamando seu construtorX
staticfaz um método ou variável pertencer à classe ao invés de às instânciasX
strictfpusado em frente a um método ou classe para indicar que os números de ponto flutuante seguirão as regras de ponto flutuante, em todas as expressõesX
synchronizedindica que um método só pode ser acessado por uma thread de cada vezX
transientimpede a serialização de camposX
volatileindica que uma variável pode ser alterada durante o uso de threadsX

Controle de fluxo dentro de um bloco de código

PalavraDescriçãoClasseVariávelMétodo
breaksai do bloco de código em que ele estáfluxo
caseexecuta um bloco de código dependendo do teste do switchX
continuepula a execução do código que viria, após essa linha e vai para a próxima passagem do loopfluxo
defaultexecuta esse bloco de código caso nenhum dos teste de switch-case seja verdadeiroX
doexecuta um bloco de código uma vez, e então realiza um teste em conjunto com o while para determinar se o bloco deverá ser executado novamenteX
elseexecuta um bloco de código alternativo caso o teste "if" seja falsoX
forusado para realizar um loop condicional de um bloco de códigoX
ifusado para realizar um teste lógico de verdadeiro ou falsoX
instanceofdetermina se um objeto é uma instância de determinada classe, superclasse ou interfaceX
returnretorna um método sem executar qualquer código, que venha depois desta linha (também pode retornar uma variável)X
switchindica a variável a ser comparada nas expressões caseX
whileexecuta um bloco de código repetidamente enquanto a condição for verdadeiraX

Tratamento de erros

PalavraDescriçãoClasseVariávelMétodo
asserttesta uma expressão condicional, para verificar uma suposição do programadorX
catchdeclara o bloco de código usado para tratar uma exceçãoX
finallybloco de código, após um try-catch, que é executado independentemente do fluxo de programa seguido ao lidar com uma exceçãoX
throwusado para passar uma exceção para o método que o chamouX
throwsindica que um método pode passar uma exceção para o método que o chamouassinatura
trybloco de código que tentará ser executado, mas que pode causar uma exceçãoX

Controle de pacotes

PalavraDescriçãoClasseVariávelMétodo
importimporta pacotes ou classes para dentro do códigoX
packageespecifica a que pacote, todas as classes de um arquivo pertencem.X

Variáveis de referência

PalavraDescriçãoClasseVariávelMétodo
superrefere-se a superclasse imediataX
thisrefere-se a instância atual do objetoX

Palavras reservadas não utilizadas

PalavraDescriçãoClasseVariávelMétodo
constnão utilize para declarar constantes
gotonão implementada na linguagem Java, por ser considerada prejudicial

Combinação de palavras

Abaixo, iremos exercitar algumas das possibilidades mais recorrentes em combinar o uso das palavras reservadas a níveis de: Classe, Atributos e Métodos

NívelCombinaçãoExplicação
classepublic classDetermina que a classe é pública
classeabstract classDetermina que a classe é abstrata
classefinal classDetermina que a classe é final e não pode ser herdada
classeclass A extends BDetermina que a classe A herda da classe B
classeclass A implements BDetermina que a classe A implementa a interface B
atributopublic staticDetermina que o atributo é público e estático (nível de classe)
atributopublic static finalDetermina que o atributo é público, estático e inalterável (constante)
métodoabstract voidDetermina que o método é abstrato e sem retorno
métodosynchronized voidDetermina que o método é sincronizado e sem retorno
A tabela acima é somente uma ilustração e um direcionamento para você poder fixar um pouco mais o conceito das palavras reservadas na linguagem Java.

Palavras "opostas"

Assim como nas classificações gramaticais da língua portuguesa, existem algumas palavras que são completamente opostas (antônimas) na linguagem Java conforme tabela abaixo:

PalavraPalavraExplicação
packageimportEnquanto package determina o diretório real da classe, o import informa de onde será importada a classe. Isso porque, podemos ter classes de mesmo nome.
extendsimplementsenquanto extends determina que uma classe estende outra classe, implements determina que uma classe implementa uma interface, porém nunca o contrário.
finalabstractenquanto final determina fim de alteração de valor ou lógica comportamental, abstract em métodos, exige que sub-classes precisarão definir comportamento e um método abstrato. NOTA: Se uma classe contém um único método abstrato, toda classe precisa ser.
throwsthrowEsta é uma das situações mais complicadas, de compreensão destas duas palavras. Enquanto a throws determina que um método pode lançar uma exceção, throw é a implementação que dispara a exceção. Vamos conhecer mais sobre este conceito no assunto Exceções.