DEV Community

Paula Santana
Paula Santana

Posted on

3

Java Efetivo - Constantes

Use as interfaces para definir tipos

Esta é uma série baseada no entendimento de tópicos relacionados ao livro com foco no resumo.

Interfaces

Sabemos que quando uma classe implementa uma interface, essa interface a qual ela implementou pode ser utilizada como um tipo.
Sempre precisamos ter em mente que ao criar uma interface podemos ter em mente o que será possível realizar com as instâncias das classes que a implementarem.
Vamos imaginar que temos classes que possuem um comportamente relacionado a pagamentos, ou seja, elas são pagáveis, isso indica que há classes que permitem ações relacionadas a esse assunto.

Image description

Não esta correto

O que não é considerado correto quando utilizamos interfaces.
Usarmos interfaces para qualquer outra coisa que não seja definir uma idéia do que seja possível realiza com as classes que a implementam.
Exemplo citado no livro é o de criação de "interface constante" onde o único objetivo é agrupamento de constantes para serem utilizadas por outras classes.
Essa abordagem não é considerada correta.

Isso porque interfaces deveriam conter constantes apenas para efeito de implementações internas e não para disponibilizar em suas implementações.
De qualquer forma há situações onde há precisaremos criar uma constante na interface e/ou classe e não devemos ter receio disso desde que realmente a constante esteja ligada diretamente com o propósito da classe e da interface.

Lembre-se

lembrando que a melhor maneira de criarmos constantes no Java são através de Enum ou como uma classe utilitária não instanciável.
E não considerando o uso de Interfaces para isso.
Interfaces devem ser utilizadas somente para definir tipos não para agrupamento de constantes.

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (0)

Billboard image

Deploy and scale your apps on AWS and GCP with a world class developer experience

Coherence makes it easy to set up and maintain cloud infrastructure. Harness the extensibility, compliance and cost efficiency of the cloud.

Learn more

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay