Heim > Java > javaLernprogramm > Interviewfragen in Java: Lösungen für drei klassische Fragen

Interviewfragen in Java: Lösungen für drei klassische Fragen

PHPz
Freigeben: 2023-06-15 20:43:29
Original
1058 Leute haben es durchsucht

Als beliebte Programmiersprache haben auch die Interviewfragen mit Java viel Aufmerksamkeit erregt. Werfen wir einen Blick auf drei klassische Java-Interviewfragen und ihre Antworten.

1. Wie ist String gleich?

In Java ist String ein besonderes Objekt, daher erfordert seine Gleichheit besondere Aufmerksamkeit. Im Allgemeinen gibt es zwei Möglichkeiten, die String-Gleichheit zu beurteilen.

  1. Verwenden Sie die Methode „equals“

In Java können Sie die Methode „equals“ verwenden, um zu bestimmen, ob zwei String-Objekte gleich sind. Diese Methode vergleicht die in den beiden String-Objekten enthaltenen Zeichenfolgen, um festzustellen, ob sie gleich sind. Wenn sie gleich sind, gibt sie „true“ zurück.

Zum Beispiel:

String str1 = "Hello";
String str2 = "Hello";

if(str1.equals(str2)){
    System.out.println("str1和str2相等");
} else {
    System.out.println("str1和str2不相等");
}
Nach dem Login kopieren

Das Ausgabeergebnis ist: str1 und str2 sind gleich.

Es ist zu beachten, dass bei Verwendung der Methode „equals“ zum Vergleichen von Zeichenfolgen auf Gleichheit geprüft wird, ob die Werte der Zeichenfolgen gleich sind, und nicht, ob die Speicheradressen gleich sind.

  1. Verwenden Sie den ==-Operator

Sie können auch den ==-Operator in Java verwenden, um zu bestimmen, ob zwei String-Objekte gleich sind. Es ist jedoch zu beachten, dass bei der Verwendung des ==-Operators zum Vergleichen zweier Objekte verglichen wird, ob die Speicheradressen der beiden Objekte gleich sind, und nicht, ob die Zeichenfolgeninhalte gleich sind.

Zum Beispiel:

String str1 = "Hello";
String str2 = "Hello";

if(str1 == str2){
    System.out.println("str1和str2地址相等");
} else {
    System.out.println("str1和str2地址不相等");
}
Nach dem Login kopieren

Das Ausgabeergebnis ist: str1- und str2-Adressen sind gleich.

Es ist zu beachten, dass der String-Pool in Java beim Zuweisen eines String-Objekts automatisch ein neues String-Objekt erstellt. Sie müssen daher besonders vorsichtig sein, wenn Sie den ==-Operator zum Vergleichen von Strings verwenden.

2. Was ist Final in Java?

In Java kann das Schlüsselwort final zum Ändern von Klassen, Methoden und Variablen verwendet werden. Lassen Sie uns die Funktionen des Schlüsselworts final separat erklären.

  1. Final modifizierte Klasse

Wenn eine Klasse mit final geändert wird, bedeutet dies, dass diese Klasse nicht vererbt werden kann. Zum Beispiel:

public final class MyClass{
    //...
}
Nach dem Login kopieren
  1. endgültige geänderte Methode

Wenn eine Methode mit final geändert wird, bedeutet dies, dass diese Methode nicht von Unterklassen überschrieben werden kann. Zum Beispiel:

public class MyClass{
    public final void myMethod(){
        //...
    }
}
Nach dem Login kopieren
  1. endgültige geänderte Variable

Wenn eine Variable mit final geändert wird, bedeutet dies, dass die Variable nicht neu zugewiesen werden kann. Zum Beispiel:

public class MyClass{
    public final int MY_CONSTANT = 10;
}
Nach dem Login kopieren

Es ist zu beachten, dass durch das Schlüsselwort final geänderte Variablen bei der Deklaration initialisiert und zugewiesen werden müssen.

3. Was ist Polymorphismus in Java?

In Java bedeutet Polymorphismus, dass dieselbe Schnittstelle verschiedene Objekte implementieren kann. Insbesondere gibt es zwei Formen von Polymorphismus:

  1. Polymorphismus zur Kompilierungszeit

Polymorphismus zur Kompilierungszeit bezieht sich auf die Methode, ein Objekt eines Unterklassentyps durch einen Verweis auf den übergeordneten Klassentyp aufzurufen. Zum Beispiel:

Parent parent = new Child();
parent.myMethod();
Nach dem Login kopieren

In diesem Beispiel ist parent eine Referenz des übergeordneten Klassentyps, ruft jedoch die myMethod-Methode im Objekt des Unterklassentyps auf.

Es ist zu beachten, dass Polymorphismus zur Kompilierungszeit nur die übergeordnete Klasse und Methoden in der übergeordneten Klasse aufrufen kann, jedoch keine Methoden aufrufen kann, die für die Unterklasse eindeutig sind.

  1. Laufzeitpolymorphismus

Laufzeitpolymorphismus bezieht sich auf den Aufruf der entsprechenden Methode entsprechend dem Typ des tatsächlichen Objekts während der Ausführung des Programms. Zum Beispiel:

public class MyClass{
    public static void main(String[] args){
        Animal animal = new Dog();
        animal.makeSound();
    }
}

class Animal{
    public void makeSound(){
        System.out.println("动物发出声音");
    }
}

class Dog extends Animal{
    public void makeSound(){
        System.out.println("汪汪汪");
    }
}
Nach dem Login kopieren

In diesem Beispiel ist „Tier“ eine Referenz vom Typ „Tier“, zeigt aber auf ein Objekt vom Typ „Hund“. Wenn die Methode „makeSound“ aufgerufen wird, wird daher tatsächlich die Methode „makeSound“ im Objekt vom Typ „Hund“ aufgerufen Das Ausgabeergebnis ist auch „woof woof woof“.

Es ist zu beachten, dass der Laufzeitpolymorphismus nur die zur Laufzeit aufgerufene Methode bestimmen kann, sodass Laufzeitfehler auftreten können.

Zusammenfassend lässt sich sagen, dass die Beurteilung der Stringgleichheit, das endgültige Schlüsselwort und der Polymorphismus in Java häufig in Interviews gestellt werden. Programmierer müssen diese Fragen genau verstehen und beherrschen.

Das obige ist der detaillierte Inhalt vonInterviewfragen in Java: Lösungen für drei klassische Fragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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