作业 7:继承、super
关键字和方法重写
此作业演示了 Java 中的继承、super
关键字和方法重写。 让我们分解一下代码及其输出。
奶奶班:
这个类代表基类(祖父母)。 它有一个 name
字段和一个 work()
方法。
<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>
妈妈班:
该类继承自Grandma
。它重写 work()
方法并添加自己的 name
字段。 super
关键字用于访问 Grandma
的 name
和 work()
方法。
<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>
儿童班:
该类继承自Mother
。它重写 work()
方法并添加 study()
方法。 main
方法创建一个 Kid
对象并调用其方法。
<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>
输出说明:
输出显示了沿继承层次结构层叠的方法调用。 当kid.work()
被调用时,Kid
的work()
方法首先被执行,打印“Kid isworking”。然后,kid.study()
调用 super.work()
,执行 Mother
的 work()
方法,该方法又调用 super.work()
,执行 Grandma
的 work()
方法。 super
关键字确保调用父类中的正确方法。输出反映了继承层次结构每个级别的 name
和 age
变量的值。
更正和改进的输出:
改进后的代码提供了更具描述性的输出,使得更容易理解执行流程。 现在的输出将是:
<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>
以上是任务7的详细内容。更多信息请关注PHP中文网其他相关文章!