Új hozzászólás Aktív témák

  • Karma

    félisten

    válasz mobal #6189 üzenetére

    Reflexió a barátod.

    Íme egy példa:

    public class ReflTest {
    public static void fapapucs() {
    System.out.println("FAPAPUCS!");
    }

    public static void hello(String name) {
    System.out.println("Hello " + name + "!");
    }

    public static void main(String[] args) {
    try {
    ReflTest.class.getDeclaredMethod("fapapucs").invoke(null);
    ReflTest.class.getDeclaredMethod("hello", new Class[] { String.class }).invoke(null, "mobal");
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }

    Direkt beraktam egy paraméter nélküli, és egy paraméteres metódust is - a getDeclaredMethodnál és az invoke-nál is passzolnia kell a típusoknak.

    És egyébként ha nincs nagyon jó indokod erre, pofonrúgást érdemel egy ilyen megoldás :U Olyan sok szebb alternatíva van a parancsfeldolgozóra is... Például a Command tervezési minta: a Mapben nem stringeket tárolsz értékként, hanem egy megadott (feldolgozó) interfészt megvalósító objektumokat.

    [ Szerkesztve ]

    “All nothings are not equal.”

Új hozzászólás Aktív témák