4.16. Sintaxe básica de Java: Palavras-chave (static, final, this, super)
Página 20 | Ouça em áudio
Sintaxe Básica de Java: Palavras-chave (static, final, this, super)
A linguagem Java é rica em palavras-chave que definem como os componentes da linguagem são utilizados. Neste contexto, vamos abordar quatro palavras-chave essenciais na programação Java: static
, final
, this
e super
. Cada uma dessas palavras-chave possui um papel específico na definição da estrutura e do comportamento de classes e objetos.
Palavra-chave static
A palavra-chave static
é utilizada para indicar que um membro de uma classe (seja ele um campo, um método ou um bloco de código) pertence à própria classe, em vez de a uma instância específica dessa classe. Isso significa que o membro estático pode ser acessado sem a necessidade de criar uma instância da classe.
public class ExemploStatic {
public static int contador = 0;
public ExemploStatic() {
contador++;
}
public static void metodoEstatico() {
System.out.println("Este é um método estático.");
}
}
No exemplo acima, contador
é um campo estático e metodoEstatico
é um método estático. Ambos podem ser acessados diretamente através do nome da classe, como em ExemploStatic.contador
e ExemploStatic.metodoEstatico()
.
Palavra-chave final
A palavra-chave final
é usada para declarar uma constante em Java. Quando um campo é declarado como final, seu valor não pode ser modificado após a inicialização. Além disso, final
também pode ser aplicado a métodos e classes. Um método final não pode ser sobrescrito por subclasses, e uma classe final não pode ser estendida.
public class ExemploFinal {
public final int VALOR_CONSTANTE = 10;
public final void metodoFinal() {
System.out.println("Este método não pode ser sobrescrito.");
}
}
No exemplo acima, VALOR_CONSTANTE
é uma constante e metodoFinal
é um método que não pode ser sobrescrito.
Palavra-chave this
A palavra-chave this
é uma referência ao objeto atual, ou seja, o objeto cujo método ou construtor está sendo chamado. Ela é frequentemente usada para resolver ambiguidades entre campos de classe e parâmetros de métodos ou construtores que têm o mesmo nome.
public class ExemploThis {
private int valor;
public ExemploThis(int valor) {
this.valor = valor; // A palavra-chave 'this' resolve a ambiguidade.
}
public void setValor(int valor) {
this.valor = valor; // Novamente, 'this' é usada para referenciar o campo da classe.
}
public int getValor() {
return this.valor; // 'this' é opcional aqui, mas pode ser usado para clareza.
}
}
No exemplo acima, this.valor
refere-se ao campo valor
do objeto, enquanto valor
sem this
refere-se ao parâmetro do construtor ou do método setValor
.
Palavra-chave super
A palavra-chave super
é usada para acessar membros (campos, métodos) da superclasse de uma classe. Isso é particularmente útil em casos de herança, onde uma classe derivada precisa fazer referência a membros da classe base que foram sobrescritos ou ocultados.
public class Base {
public void exibirMensagem() {
System.out.println("Mensagem da classe Base");
}
}
public class Derivada extends Base {
public void exibirMensagem() {
super.exibirMensagem(); // Chama o método da superclasse.
System.out.println("Mensagem da classe Derivada");
}
}
No exemplo acima, a classe Derivada
sobrescreve o método exibirMensagem
. Dentro desse método, super.exibirMensagem()
é usado para invocar a implementação do método na superclasse Base
, antes de executar o código adicional da classe Derivada
.
Em resumo, as palavras-chave static
, final
, this
, e super
são fundamentais para a programação em Java. Elas permitem aos desenvolvedores criar código mais claro, seguro e bem estruturado, facilitando a manutenção e compreensão dos programas. Ao dominar o uso dessas palavras-chave, os programadores podem explorar a fundo os recursos de orientação a objetos que Java oferece.
Agora responda o exercício sobre o conteúdo:
_Qual das seguintes afirmações sobre as palavras-chave em Java está correta?
Você acertou! Parabéns, agora siga para a próxima página
Você errou! Tente novamente.
Próxima página do Ebook Gratuito: