DEV Community

Cover image for Um pouco de Java17
Thiago Emidio
Thiago Emidio

Posted on

Um pouco de Java17

  • Sealed Classes

Sealed Classes foram introduzidas no Java 17 como parte das melhorias relacionadas à programação orientada a objetos, permitindo uma maior restrição a herança de classes. Essa funcionalidade oferece mais controle sobre quais classes podem estender ou implementar uma classe ou interface, ajudando a manter o código mais seguro.

Vamos criar um tutorial passo a passo sobre como usar Sealed Classes em Java 17.

Primeiramente vamos criar uma classe chamada Banco e vamos adicionar a ela o modificador “sealed”, que controla como outras classes ou interfaces podem estender ou implementar a classe ou interface.

Image description

Fazendo isso, podemos ver que temos um erro indicando que a classe Banco com modificador “sealed” precisa ter subclasses.

Para resolver este problema, vamos criar uma classe chamada Cliente e adicionando a cláusula “permits” a classe Banco.

Image description

Fazendo isso podemos ver que termos o seguinte erro.

> Invalid permits clause: ‘Cliente’ must directly extend ‘Banco’

É isso mesmo que você está pensando, para resolver este problema precisamos extender a classe Banco diretamente na classe Cliente.

Image description

Isso resolve nosso problema e com isso ja conseguimos utilizar nossa Sealed Classe, legal não e mesmo ?

> OBS: O conceito de sealed também pode ser aplicado a interfaces em Java 17. Assim como em classes, uma interface selada pode restringir quais outras interfaces ou classes podem implementá-la.

Conclusão:
Sealed Classes oferecem uma forma poderosa de restringir e controlar herança em Java. Com isso, você pode evitar que classes sejam estendidas por engano, melhorando a legibilidade e a segurança do código.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay