Declarar uma classe como final em Java significa que ela não pode ser herdada.

Isso protege sua implementação contra modificações e garante um comportamento estável.


📌 O que é uma classe final?

Uma classe marcada como final:

final class SeloAmaldicoado {
    void ativar() {
        System.out.println("Selo ativado.");
    }
}

Tentativa de herança:

class SeloAvancado extends SeloAmaldicoado {} // ❌ Erro de compilação


🧩 Quando usar final em classes?

🛡️ 1. Segurança da Lógica

Quando você quer garantir que o comportamento não será alterado via herança.

🚀 2. Otimização da JVM

A JVM pode aplicar otimizações internas quando sabe que uma classe não será estendida.

📦 3. Classes utilitárias

Classes como Math, helpers e factories costumam ser final.

📏 4. API estável