Die OCA Java SE8 Programmer I-Zertifizierung ist das erste wesentliche Zertifikat, das Sie vor der OCP-Prüfung erwerben müssen. Von einer Person wird erwartet, dass sie zuerst die OCA absolviert, bevor sie die OCP übernimmt. Als Anfänger können Fragen schwierig sein. Sie kommen aus der Javascript-Welt und haben keine Ahnung von Java. Dieser Beitrag deckt Sie ab.
Hier möchten wir einige der kniffligen Fragen besprechen, die bei der OCA-Prüfung gestellt werden können, um denjenigen zu helfen, die an der Prüfung teilnehmen möchten. Vergessen Sie nicht, einige der Fragen, die Sie für schwierig halten, in den Kommentaren mitzuteilen. Lasst uns einander helfen.
Hier ist das, was ich in den meisten früheren Braindumps immer sehe.
Fragetyp 1 Enthält einfachen Code, aber knifflige oder verwirrende Antwortoptionen.
Hier ist das Codebeispiel:
class JavaCertQType1 { public static void main(String... cmd) { main("private", cmd); } private static void main(String type, String[] args) { System.out.println(args[0] + args[1]); } }
QSN -> Was ist die Ausgabe, wenn die Klasse JavaCertQType1 mit dem folgenden Befehl ausgeführt wird (1 Option auswählen):
java JavaCertQType1 1 11 EJava Guru
Wie viele von Ihnen haben die Antwort richtig verstanden, bevor sie die Antwort überprüft haben?
Wenn Sie die Überprüfung richtig durchführen, können Sie erkennen, dass die Hauptmethode überlastet ist, und das ist in Java völlig in Ordnung. Hauptmethoden in Java können privat sein, sie dienen jedoch nicht als Einstiegspunkt für die Programmausführung, wenn Sie versuchen, die Klasse direkt mit dem Java-Befehl „ClassName“ auszuführen.
Ja, das sind Sie gewohnt
public static void main(String[] args) aber dieses
private static void main(String[] args) ist ebenfalls zulässig.
Jetzt kommen wir zur Antwort
111
Hier ist die Erklärung
Ich sehe vier Befehlszeilenargumente 1 11 EJava Guru. Diese Argumente werden als Array cmd an die Methode main(String... cmd) übergeben, das {"1", "11", "EJava", "Guru"} enthält. Die überladene Hauptmethode führt die Druckmethode aus. Wir lesen Argumente ab Index 0, also ist args[0] „1“ und args[1] ist „11“.
Sie fragen sich vielleicht, warum wir als Antwort nicht 1 11 gewählt haben. Der Grund dafür ist, dass in Java während der Programmausführung übergebene Befehlszeilenargumente immer als Zeichenfolgen behandelt werden.
Da es sich um Zeichenfolgen handelt, führt der Operator eine Zeichenfolgenverkettung durch
"1" "11"
und die Antwort ist
111.
Was wäre passiert, wenn wir die private Hauptmethode entfernt hätten, sie aber immer noch unsere Hauptmethode nennen würden??
class JavaCertQType1 { public static void main(String... cmd) { main("private", cmd); // Calls the overloaded private main method } }
Ausführungsbefehl:
java JavaCertQType1 1 11 EJava Guru
Die JVM würde nach der öffentlichen statischen void main(String... cmd)-Methode suchen, um das Programm zu starten. Da der Code in der öffentlichen Hauptmethode eine andere Methode namens „main“ aufruft, hätte er versucht, die überladene Hauptmethode zu finden, konnte sie aber nicht finden. Da es keine passende Signatur gibt, schlägt die Kompilierung fehl, was zu einem
führtKompilierungsfehler
Hinweis
Eine Hauptmethode kann privat sein, sie kann jedoch nicht als Einstiegspunkt für die Programmausführung durch die JVM dienen. Es ist nützlich zum Überladen von Methoden oder zur internen Logik, muss jedoch von einer anderen Methode (z. B. der öffentlichen Hauptmethode) aufgerufen werden
Vielen Dank, dass Sie meinen Artikel gelesen haben, und vergessen Sie nicht, weitere knifflige Fragen in den Kommentaren zu teilen. Bringen Sie sie hierher und lassen Sie uns darüber diskutieren.
Das obige ist der detaillierte Inhalt vonWelche Arten oder Formate von Fragen kann ich in der Prüfung erwarten? (OCA Java SE Programmer I-Zertifizierung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!