Mostrando postagens com marcador Java. Mostrar todas as postagens
Olá!
Hoje falarei um pouco sobre um assunto abordado nas provas de certificação de programador Java: Classes Internas (Inner Class). O conteúdo a ser abordado aqui não é nem de longe completo, já que este assunto é bem extenso. No entanto, o propósito deste post é ser um guia rápido para sanar eventuais dúvidas sobre o assunto ou simplesmente introduzir novos programadores ao tema.
Existem três razões pelas quais é interessante o uso de classes internas:
As classes internas são dividas em duas categorias: estáticas e não estáticas. Dessas categorias, separamos em quatro tipos de classes internas:
Vamos nos aprofundar melhor em cada variância das classes internas.
Hoje falarei um pouco sobre um assunto abordado nas provas de certificação de programador Java: Classes Internas (Inner Class). O conteúdo a ser abordado aqui não é nem de longe completo, já que este assunto é bem extenso. No entanto, o propósito deste post é ser um guia rápido para sanar eventuais dúvidas sobre o assunto ou simplesmente introduzir novos programadores ao tema.
Existem três razões pelas quais é interessante o uso de classes internas:
- Organização: principalmente quando a classe não irá ser usada em muitos contextos.
- Acesso: uma vez que classes internas podem acessar variáveis do classes externa.
- Conveniência: ter que criar um arquivo para cada classe as vezes é desnecessário.
As classes internas são dividas em duas categorias: estáticas e não estáticas. Dessas categorias, separamos em quatro tipos de classes internas:
- Classes internas estáticas: declaradas como membros estáticos de outra classe.
- Classes internas de instância: declaradas como membros de instância de outra classe.
- Classes internas locais: declaradas dentro de métodos de outras classes.
- Classes internas anônimas: são como classes internas locais, porém, escritas de outra forma.
Vamos nos aprofundar melhor em cada variância das classes internas.
Olá!
Hoje falarei um pouco sobre os métodos equals() e hashCode(), assunto que não é novo mas ainda é muito utilizado e também é tratado na prova de certificação OCJP 6.
Por mais que pareça estranho, ambos os métodos caminham juntos quando tratamos de Collections, e portanto, devem ser perfeitamente compreendidos para saber quando e como usá-los de forma eficiente.
equals()
Esse método é utilizado para verificar se dois objetos são significativamente iguais. Diferente do sinal "==" que verifica os bits do objeto (em outras palavras, se duas referências de objeto apontam para o mesmo objeto), o método equals() verifica o valor do objeto.
Esse método vem da classe Object, e na classe Object sua função é a mesma do sinal "==". As classes String e os Wrappers por sua vez já implementam sua sobrescrita afim de validar o valor significativo carregado no objeto.
Nota 1: É importante implementar sua sobrescrita em suas próprias classes justamente para verificar se dois objetos da classe em questão são iguais, do contrário, ele terá a mesma função do sinal "=="e dois objetos só serão considerados iguais se duas referências apontarem para o mesmo objeto.