Sobes.tech
Junior — Middle

Jak zaimplementować wzorzec podobny do obiektu companion z Kotlin w Javie?

sobes.tech AI

Odpowiedź od AI

W Kotlinie, obiekt companion pozwala na tworzenie obiektu powiązanego z klasą, który może zawierać statyczne człony i funkcje. W Javie odpowiednikiem jest użycie statycznych pól i metod wewnątrz klasy.

Przykład implementacji wzorca podobnego do obiektu companion w Javie:

public class MyClass {
    // Statyczna klasa zagnieżdżona do grupowania statycznych członków
    public static class Companion {
        public static void doSomething() {
            System.out.println("Wywołanie z Companion");
        }
    }
}

// Użycie:
MyClass.Companion.doSomething();

Można również po prostu zadeklarować statyczne metody i pola w klasie bez zagnieżdżonej klasy:

public class MyClass {
    public static void doSomething() {
        System.out.println("Metoda statyczna");
    }
}

// Użycie:
MyClass.doSomething();

W ten sposób, w Javie, obiekt companion jest zastępowany przez statyczne człony klasy lub zagnieżdżoną statyczną klasę do grupowania takich członków.