>分配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
>'s 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()
>'s Kid
方法,列印「孩子在運作」。然後,work()
呼叫kid.study()
,執行super.work()
's Mother
方法,然後再次執行work()
>'s super.work()
方法。 Grandma
>關鍵字可確保呼叫父類別的正確方法。輸出反映了繼承層次結構的每個層級的work()
>和super
變數的值。 name
age
> 改進的程式碼提供了更多的描述性輸出,從而更容易理解執行流程。 現在的輸出將為:
以上是任務7的詳細內容。更多資訊請關注PHP中文網其他相關文章!