Java ist so konzipiert, dass Sie es niemals "austricksen" können, solange Sie java.lang/java verwenden. Klassen oder andere Standardbibliotheken. Eines der wichtigsten Dinge von OOP ist, dass Objekte in einem definierten Zustand sein sollten, so dass Sie sicher sein können, dass der Konstruktor immer ausgeführt wird. Selbst wenn Sie einige seltsam aussehende Reflexions-Bibliotheken verwenden, um Ihre Arbeit zu erledigen.
Also, mit Class.forName ("me.Test"). NewInstance(); (oder ähnlich) wird den Konstruktor Test() für Sie aufrufen.
Wenn Sie einen anderen Konstruktor aufrufen wollen, dass der Code ist so etwas wie:
Test test = (Test)Class.forName("Test").getConstructor(String.class).newInstance("Hello World");
Hier ist der GetConstructor fragt, was der Konstruktor aussieht (es einen String will), und dann rufen Sie es mit einer Schnur.
Er fragt, wie man eine neue Instanz der Klasse instanziiert, nicht das Klassenobjekt erzeugt (und auch nicht, wie man den Byte-Code bekommt). Dies sollte nicht als die richtige Antwort markiert werden. Lesen Sie weiter unten die Antwort von andri. –
@RyanShillington Dies ist die ursprüngliche Frage. Die Frage wurde bearbeitet, um eine andere Frage zu sein, die "andri" beantwortete. –
Ah, ich verstehe. Mein Fehler. –