Home > Java > javaTutorial > Task-7

Task-7

Linda Hamilton
Release: 2025-01-25 22:04:12
Original
411 people have browsed it

Task-7

Assignment 7: Inheritance, super Keyword, and Method Overriding

This assignment demonstrates inheritance, the super keyword, and method overriding in Java. Let's break down the code and its output.

Grandma Class:

This class represents the base class (grandparent). It has a name field and a work() method.

<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>
Copy after login

Mother Class:

This class inherits from Grandma. It overrides the work() method and adds its own name field. The super keyword is used to access the Grandma's name and work() method.

<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>
Copy after login

Kid Class:

This class inherits from Mother. It overrides the work() method and adds a study() method. The main method creates a Kid object and calls its methods.

<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>
Copy after login

Output Explanation:

The output shows the method calls cascading down the inheritance hierarchy. When kid.work() is called, the Kid's work() method is executed first, printing "Kid is working." Then, kid.study() calls super.work(), executing the Mother's work() method, which in turn calls super.work() again, executing the Grandma's work() method. The super keyword ensures that the correct method from the parent class is invoked. The output reflects the values of the name and age variables at each level of the inheritance hierarchy.

Corrected and Improved Output:

The improved code provides more descriptive output, making it easier to understand the flow of execution. The output will now be:

<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>
Copy after login

The above is the detailed content of Task-7. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template