1. Lista de palavras
Como em qualquer linguagem de programação, Java possui palavras que possuem um significado especial. Por exemplo, returnou ifou while. Essas palavras são chamadas de palavras-chave ( keywords ) e são consideradas reservadas pela linguagem Java.
Você não pode usar essas palavras como um nome de variável, nome de método ou nome de classe. O compilador sempre os interpretará de maneira estritamente definida. Existem 54tais palavras em Java.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Você já conhece alguns deles, e falaremos sobre o resto agora mesmo.
2. Tipos primitivos
Como você provavelmente se lembra, Java tem 8 tipos primitivos e cada um deles tem sua própria palavra-chave:
byteshortintlongcharfloatdoublebooleanvoid
Se você tiver uma mente suficientemente curiosa, há uma boa chance de já ter tentado nomear uma variável int. E é claro que você não conseguiu. Isso ocorre precisamente porque os nomes de todos os tipos primitivos são palavras reservadas.
O voidtipo também se enquadra nesta categoria.
3. Loops e ramificações
Loops e branches também nos fornecem uma longa lista de palavras-chave:
ifelseswitchcasedefaultwhiledoforbreakcontinue
Apenas 10 palavras são suficientes para a linguagem fornecer vários tipos de loops, branches e instruções de controle para loops de interrupção ( breake continue) e múltiplos branches ( switch). Você já está familiarizado com todas essas palavras-chave.
4. Exceções
As exceções nos fornecem 5 palavras-chave:
trycatchfinallythrowthrows
Tudo isso faz parte de um try-catch-finallybloco. O operador para lançar exceções é throw, e a throwspalavra-chave suporta o checkedmecanismo de exceção.
A boa notícia é que você já está familiarizado com todas as palavras-chave relacionadas a exceções, portanto, também já está familiarizado com o trabalho com exceções.
5. Visibilidade
Aqui existem apenas três palavras-chave e você já está familiarizado com elas.
privateprotectedpublic
publicpermite acesso a um método/variável/classe de qualquer lugar no programa.
privateproíbe que um método/variável/classe seja acessado de qualquer lugar no programa. O acesso só é permitido dentro da mesma classe como um método marcado com o privatemodificador.
protectedfunciona da mesma forma que private, mas também permite acesso a um método/variável/classe de classes herdadas. Os benefícios desse modificador ficarão mais claros para você quando você se familiarizar com OOP e herança.
6. Trabalhando com classes
Existem 11 palavras-chave nesta categoria:
classinterfaceenumimportpackageextendsimplementsstaticfinalabstractdefault
Eles podem ser divididos em 4 grupos.
O primeiro grupo diz respeito à criação das classes: class, interfacee enum. Você já aprendeu sobre como declarar classes e enums . A interfacepalavra-chave é usada para declarar ainda outro tipo de classe: interfaces.
O segundo grupo consiste nas palavras-chave package e import , com as quais você já está familiarizado. A palavra-chave package é usada para especificar o pacote de uma classe em um arquivo de classe. E importé assim que podemos usar nomes curtos de classes externas ao escrever nossas próprias classes.
As palavras-chave extendse implementssão usadas para herança. Você vai dar uma olhada neles no início da missão Java Core.
Por fim, o último grupo consiste nos modificadores static, final, defaulte abstract. Você já conhece um pouco sobre statice final. A abstractpalavra-chave é usada para tornar uma classe ou método abstrato. Você obterá mais detalhes ao estudar a herança na missão Java Core.
7. Trabalhando com objetos e variáveis
Mais seis palavras-chave são usadas ao trabalhar com objetos, métodos e variáveis.
newinstanceofthissuperreturnvar(desde Java 10)
O newoperador é usado para criar novos objetos — você já sabe disso.
O instanceofoperador é usado para verificar se uma variável contém uma referência a um objeto de um tipo específico. Você já está familiarizado com ele.
A thispalavra-chave é usada para resolver problemas que surgem devido ao sombreamento de variáveis e métodos de instância. Você estudou isso também.
A superpalavra-chave é análoga a this, mas é usada para se referir aos métodos e variáveis da classe pai. A classe pai também é chamada de superclasse.
A returninstrução é usada para retornar o valor de um método e também para encerrar a execução de um método.
Finalmente, varserve para declarar uma variável cujo tipo é inferido automaticamente. Você já está familiarizado com isso.
8. Multithreading
No nível da sintaxe Java, o multithreading é representado por apenas duas palavras.
synchronizedvolatile
Não vamos nem tocá-los. Vá para a missão Java Multithreading e, em seguida, mergulharemos nela.
9. Diversos
Existem outras 4 palavras-chave especiais:
nativetransientassertstrictfp
nativeé um modificador que pode ser escrito antes de uma declaração de método. Isso significa que o código do método não foi escrito em Java, mas em C++ e está embutido na máquina Java (bem, ou em uma DLL). Como você provavelmente já adivinhou, a própria máquina Java também é escrita em C++. Assim como muitos dos métodos de biblioteca padrão.
transienté um modificador que pode ser escrito antes das variáveis de instância (campos de uma classe). Ele solicita que a máquina Java pule (ou ignore) a variável marcada enquanto serializa um objeto da classe. Você pode aprender mais sobre serialização na missão Java Collections.
asserttambém vem para Java de C++. Com sua ajuda, você pode adicionar verificações adicionais ao seu código (por exemplo, para verificar se uma variável é nula). O importante aqui é que essas verificações sejam habilitadas ou desabilitadas em tempo de compilação.
Você pode construir o projeto para testes internos, e essas verificações serão realizadas (incluídas na construção). Ou você pode desativá-los durante a compilação para criar a versão do programa que será fornecida aos usuários.
Quanto à strictfppalavra-chave e à precisão extra dos processadores Intel, temos toda uma história para você .
10. Reservado, mas não utilizado
Há também duas palavras-chave reservadas, mas não usadas.
constgoto
Eles também são um legado da linguagem C++, onde existem e são usados.
11. Não são palavras-chave
Formalmente, as constantes true, falsee nullnão são palavras-chave. Dito isso, cada um tem suas peculiaridades. Você não pode nomear um método trueou uma variável false. O compilador não entenderá esse código e não o compilará.
GO TO FULL VERSION