Java jest tak zaprojektowana, że nie można jej nigdy "oszukać", dopóki używa się java.lang/java. klasy lub inne standardowe biblioteki. Jedną z najważniejszych rzeczy w OOP jest to, że obiekty powinny znajdować się w określonym stanie, więc możesz być bezpieczny, że konstruktor jest zawsze uruchamiany. Nawet jeśli używasz dziwnie wyglądających bibliotek refleksji, aby wykonać swoją pracę.
Tak, używając Class.forName ("me.Test"). NewInstance(); (lub podobnym) spodoba się konstruktorowi Test() dla ciebie.
Jeśli chcesz wywołać inny konstruktor kod jest coś takiego:
Test test = (Test)Class.forName("Test").getConstructor(String.class).newInstance("Hello World");
Tutaj getConstructor pyta co konstruktor wygląda (chce ciąg), a następnie wywołać ją z ciągiem.
Pyta o to, jak utworzyć instancję nowej instancji klasy, a nie utworzyć obiekt klasy (ani jak uzyskać kod bajtowy). To nie powinno być oznaczone jako poprawna odpowiedź. Czytaj dalej do odpowiedzi Andri poniżej. –
@RyanShillington To odpowiada na oryginalne pytanie. Pytanie zostało zmienione na inne pytanie, na które odpowiedział "andri". –
Ah, rozumiem. Mój błąd. –