Heim > Java > javaLernprogramm > Aufgabe-7

Aufgabe-7

Linda Hamilton
Freigeben: 2025-01-25 22:04:12
Original
410 Leute haben es durchsucht

Aufgabe-7

Aufgabe 7: Vererbung, super Schlüsselwort und Methodenüberschreibung

Diese Aufgabe demonstriert die Vererbung, das Schlüsselwort super und das Überschreiben von Methoden in Java. Lassen Sie uns den Code und seine Ausgabe aufschlüsseln.

Oma-Klasse:

Diese Klasse stellt die Basisklasse (Großelternklasse) dar. Es verfügt über ein name-Feld und eine work()-Methode.

<code class="language-java">package B15;

public class Grandma {

    String name = "Stella"; // Note: Capitalized for consistency
    int age = 80;

    public void work() {
        System.out.println("Grandma is working."); // More descriptive output
    }
}</code>
Nach dem Login kopieren

Mutterklasse:

Diese Klasse erbt von Grandma. Es überschreibt die Methode work() und fügt ein eigenes Feld name hinzu. Das Schlüsselwort super wird verwendet, um auf die Methoden Grandma und name von work() zuzugreifen.

<code class="language-java">package B15;

public class Mother extends Grandma {
    String name = "Arasi"; // Note: Capitalized for consistency
    int age = 50;

    public void work() {
        System.out.println("Mother is working."); // More descriptive output
        System.out.println("Mother's name = " + name);
        System.out.println("Grandma's name = " + super.name);
        System.out.println("Grandma's age = " + super.age);
        super.work();
    }
}</code>
Nach dem Login kopieren

Kinderkurs:

Diese Klasse erbt von Mother. Es überschreibt die work()-Methode und fügt eine study()-Methode hinzu. Die main-Methode erstellt ein Kid-Objekt und ruft seine Methoden auf.

<code class="language-java">package B15;

public class Kid extends Mother {

    String name = "Suman"; // Note: Capitalized for consistency
    int age = 30;

    public static void main(String[] args) {
        Kid kid = new Kid();
        kid.work();
        kid.study();
    }

    public void work() {
        System.out.println("Kid is working."); // More descriptive output
        System.out.println("Kid's name = " + name);
        System.out.println("Mother's name = " + super.name);
    }

    public void study() {
        super.work();
        System.out.println("Mother's age = " + super.age);
        System.out.println("Kid's name = " + name);
        System.out.println("Kid's age = " + age);
        System.out.println("Kid is studying."); // More descriptive output
    }
}</code>
Nach dem Login kopieren

Erklärung der Ausgabe:

Die Ausgabe zeigt die Methodenaufrufe, die in der Vererbungshierarchie nach unten laufen. Wenn kid.work() aufgerufen wird, wird zuerst die Kid-Methode von work() ausgeführt und „Kid arbeitet“ ausgegeben. Dann ruft kid.study() super.work() auf und führt die Mother-Methode von work() aus, die wiederum super.work() erneut aufruft und die Grandma-Methode von work() ausführt. Das Schlüsselwort super stellt sicher, dass die richtige Methode aus der übergeordneten Klasse aufgerufen wird. Die Ausgabe spiegelt die Werte der Variablen name und age auf jeder Ebene der Vererbungshierarchie wider.

Korrigierte und verbesserte Ausgabe:

Der verbesserte Code bietet eine aussagekräftigere Ausgabe und erleichtert so das Verständnis des Ausführungsablaufs. Die Ausgabe lautet nun:

<code>Kid is working.
Kid's name = Suman
Mother's name = Arasi
Mother is working.
Mother's name = Arasi
Grandma's name = Stella
Grandma's age = 80
Grandma is working.
Mother's age = 50
Kid's name = Suman
Kid's age = 30
Kid is studying.</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAufgabe-7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage