題目描述

繼承一個類別可以獲得該類別的一些特性。請考慮以下Animal類別:



class Animal{
    void walk()
    {
        System.out.println("I am walking");
    }
}

這個類別只有一個walk方法,現在我們想要建立一個Bird類別,讓它用有fly方法。我們可以使用extends關鍵字來達成,程式如下:

class Bird extends Animal
{
    void fly()
    {
        System.out.println("I am flying");
    }
}

現在我們可以建立一個Bird物件,使牠fly和walk。

public class Solution
{
   public static void main(String args[])
   {
      Bird bird = new Bird();
      bird.walk();
      bird.fly();
   }
}

以上程式會輸出:

I am walking
I am flying

經過繼承的動作後,Bird是一個animal,擁有Animal的特性,也擁有自己獨有的特性。

您的任務非常簡單,將Bird類別修改一下,讓它可以輸出以下內容:

I am walking
I am flying
I am singing

原題網址

https://www.hackerrank.com/challenges/java-inheritance-1

解題概念

在Bird內比照fly方法,實作出singing方法,輸出「I am singing」字串。並且在main方法中,呼叫bird物件的singing方法。

參考答案

public class Solution {

    public static void main(final String[] args) {
        Bird bird = new Bird();
        bird.walk();
        bird.fly();
        bird.singing();
    }
}

class Animal {

    void walk() {
        System.out.println("I am walking");
    }
}

class Bird extends Animal {

    void fly() {
        System.out.println("I am flying");
    }

    void singing() {
        System.out.println("I am singing");
    }
}