Heim > Java > JavaInterview Fragen > Können Sie diese schwierigen Java-Interviewfragen beantworten?

Können Sie diese schwierigen Java-Interviewfragen beantworten?

王林
Freigeben: 2021-03-15 09:21:53
nach vorne
4187 Leute haben es durchsucht

Können Sie diese schwierigen Java-Interviewfragen beantworten?

Dieser Artikel hat einige ausländische Java-Interviewfragen für Sie zusammengestellt. Ich habe gehört, dass es auch viele Leute verblüfft hat. Werfen wir einen Blick auf diese Interviewfragen und sehen wir, was sie interessant macht.

1. Was ist die Ausgabe des folgenden Java-Codes?

public class Test {
  
  public static void main(String[] args) {
    method(null);
  }
 
  public static void method(Object o) {
    System.out.println("Object method");
  }
  
  public static void method(String s) {
    System.out.println("String method");
  }
}
Nach dem Login kopieren

Antwort:

gibt „String-Methode“ aus. Erstens ist null kein Objekt in Java. In Java können wir jedem Referenztyp null zuweisen. Strings in Java sind Objekte der Klasse Java.lang.String. Hier entscheidet sich der Java-Compiler dafür, die überladene Methode mit dem spezifischsten Parametertyp aufzurufen. Der String-Typ ist spezifischer als Object, daher wird die Methode method(String s) aufgerufen.

2. Was ist die Ausgabe des folgenden Java-Codes?

public class Test{
  public static void main(String[] args){
    Integer num1 = 100;
    Integer num2 = 100;
    if(num1 == num2){
      System.out.println("num1 == num2");
    }
    else{
      System.out.println("num1 != num2");
    }
  }
}
Nach dem Login kopieren

Antwort:

gibt „num1 == num2“ aus. Immer wenn „ == „ zum Vergleich zweier unterschiedlicher Objektreferenzen verwendet wird, ist der Wert immer „false“. Aber hier werden num1 und num2 aufgrund des Integer-Cachings automatisch geboxt. Also gibt num1 == num2 „true“ zurück. Außerdem erfolgt das Ganzzahl-Caching nur für Werte zwischen -128 und 127.

3. Wie verhindert die Garbage Collection, dass Java-Anwendungen nicht mehr genügend Speicher haben?

Antwort:

Java Garbage Collector kann nicht verhindern, dass Java-Anwendungen nicht mehr über genügend Speicher verfügen. Es löscht einfach ungenutzten Speicher, wenn das Objekt den Gültigkeitsbereich verlässt und nicht mehr benötigt wird. Es kann daher nicht garantiert werden, dass Java-Anwendungen nicht mehr genügend Speicher haben!

(Lernvideo-Sharing: Java-Video-Tutorial)

4. Ist Java „Übergabe als Referenz“ oder „Übergabe als Wert“

Antwort:

Java ist immer „Übergabe als Wert“. Wenn wir jedoch den Wert eines Objekts übergeben, übergeben wir eine Referenz darauf, da die Variable die Objektreferenz und nicht das Objekt selbst speichert. Dies ist jedoch keine „Referenzübergabe“, was für Anfänger verwirrend sein kann.

5. Wie viele String-Objekte werden durch den folgenden Code erstellt

public class Test{
  public static void main(String[] args){
    String s = new String("Hello World");
  }
}
Nach dem Login kopieren

Antwort:

2 String-Objekte werden erstellt. Einer befindet sich im Heap-Speicher und der andere im String-Konstantenpool im Methodenbereich.

6. Was ist die Ausgabe des folgenden Codes?

public class Test{
  public static void main(String[] arr){
    System.out.println(0.1*3 == 0.3);
    System.out.println(0.1*2 == 0.2);
  }
}
Nach dem Login kopieren

Antwort:

Der erste Satz von print gibt „false“ aus und der zweite Satz von print gibt „true“ aus. Aufgrund von Rundungsfehlern bei Gleitkommazahlen können in der einfachen Binärschreibweise nur Zweierpotenzen genau dargestellt werden. Zahlen, die nicht Zweierpotenzen entsprechen, müssen gerundet werden, damit sie auf eine begrenzte Anzahl von Ziffern passen, sodass 0,1*3 nicht gleich 0,3 ist.

7. Ist es möglich, statische Methoden in Java zu überschreiben oder zu überladen?

Antwort:

Es ist möglich, statische Java-Methoden zu überladen, aber es ist nicht möglich, sie zu überschreiben. Sie können eine andere statische Methode mit demselben Namen in eine Unterklasse schreiben, diese überschreibt jedoch nicht die Methode der Oberklasse. In Java nennt man das Methodenverstecken.

8. Wie kann man am zuverlässigsten testen, ob zwei Double-Werte gleich sind?

Antwort:

Double.compare(d1, d2) == 0
Nach dem Login kopieren

9. Wenn der Try- oder Catch-Block eine Return-Anweisung ausführt, wird dann der Final-Block ausgeführt?

Antwort:

wird ausgeführt. Die einzige Möglichkeit, die Ausführung des „finally“-Blocks zu verhindern, ist die Verwendung von System.exit().

10. Was ist die Ausgabe des folgenden Codes

public class Test{ 
  public static void main(String[] args){ 
   System.out.println("main method");
  } 
  public static void main(String args){ 
   System.out.println("Overloaded main method");
  } 
}
Nach dem Login kopieren

Antwort:

gibt „Hauptmethode“ aus. Es treten keine Fehler oder Ausnahmen auf, da die Hauptmethode in Java überlastet sein kann. Es muss aus der Hauptmethode heraus aufgerufen werden, um wie andere Methoden ausgeführt zu werden.

Verwandte Empfehlungen: Fragen und Antworten zu Java-Interviews

Das obige ist der detaillierte Inhalt vonKönnen Sie diese schwierigen Java-Interviewfragen beantworten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage