Junior — Middle
Hogyan valósítható meg egy olyan minta, mint a Kotlinban lévő companion object Java-ban?
sobes.tech MI
Válasz az MI-től
Kotlinban a companion object lehetővé teszi egy olyan objektum létrehozását, amely a osztályhoz kapcsolódik, és tartalmazhat statikus tagokat és függvényeket. Java-ban ennek megfelelője az osztályon belüli statikus mezők és metódusok használata.
Példa egy olyan mintázat megvalósítására, amely hasonló a companion objecthez Java-ban:
public class MyClass {
// Statikus beágyazott osztály a statikus tagok csoportosítására
public static class Companion {
public static void doSomething() {
System.out.println("Hívás a Companion-ból");
}
}
}
// Használat:
MyClass.Companion.doSomething();
Emellett egyszerűen deklarálhatunk statikus metódusokat és mezőket a osztályban anélkül, hogy beágyazott osztályt használnánk:
public class MyClass {
public static void doSomething() {
System.out.println("Statikus metódus");
}
}
// Használat:
MyClass.doSomething();
Így Java-ban a companion object helyett a osztály statikus tagjai vagy egy beágyazott statikus osztály használható a tagok csoportosítására.