Sobes.tech
Junior — Middle

Como implementar um padrão semelhante ao companion object do Kotlin em Java?

sobes.tech IA

Resposta da IA

No Kotlin, o companion object permite criar um objeto associado à classe, que pode conter membros e funções estáticas. Em Java, o equivalente é o uso de campos e métodos estáticos dentro da classe.

Exemplo de implementação de um padrão semelhante ao companion object em Java:

public class MyClass {
    // Classe estática aninhada para agrupar membros estáticos
    public static class Companion {
        public static void doSomething() {
            System.out.println("Chamada de Companion");
        }
    }
}

// Uso:
MyClass.Companion.doSomething();

Também é possível simplesmente declarar métodos e campos estáticos na classe sem uma classe aninhada:

public class MyClass {
    public static void doSomething() {
        System.out.println("Método estático");
    }
}

// Uso:
MyClass.doSomething();

Assim, em Java, o companion object é substituído por membros estáticos da classe ou por uma classe estática aninhada para agrupar esses membros.