91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java多態的案例分析

發布時間:2020-09-08 11:06:35 來源:億速云 閱讀:156 作者:小新 欄目:編程語言

java多態的案例分析?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

java多態簡單例子:首先有一個Animal類,它有Cat,和Dog兩個子類;然后在Animal中有個say方法,當Cat調用這個方法的時候輸出的是“小貓喵喵喵”,當Dog調用這個方法時,輸出的是“小狗汪汪汪”。

多態:

多態指同一個實體同時具有多種形式。它是面向對象程序設計(OOP)的一個重要特征。如果一個語言只支持類而不支持多態,只能說明它是基于對象的,而不是面向對象的。

多態是出現在具有繼承關系的兩個類的對象之間,所以它不像方法重載(發生在一個類中)在編譯期間發生(也就是確定下來),而是在運行期間發生(確定下來)。

一個父類類型的引用可以指向他任何一個子類的對象

[相同]類域的[不同]對象執行[同一]方法的時候會有[不同]的表現

有一個比較經典的多態實例:

有一個Animal類,它有Cat,和Dog兩個子類,在Animal中有個say方法,當Cat調用這個方法的時候輸出的是“小貓喵喵喵”,當Dog調用這個方法時,輸出的是“小狗汪汪汪”,這就是Java多態的實現。

這里我們寫另外一個:

—父類:Person.java

import java.util.Scanner;
public class Person {
    public int salary;
    public int allSalary(){
        return 0;
    }
    public static void main(String[] args) {
        Person p = null;
        for (int n = 0; n < 3; n++) {
            @SuppressWarnings("resource")
            Scanner sc = new Scanner(System.in);
            System.out.println("請輸入一個1-3的數字:\n1 is Teacher\n2 is Scientis\n3 is Waiter");
            int i = sc.nextInt();
            //分別指向了不同的子類,輸出的結果是不一樣的
            if (i == 1) {
                p = new Teacher(5000);
                System.out.println(p.allSalary());
            } else if (i == 2) {
                p = new Scientist(5000);
                System.out.println(p.allSalary());
            } else if (i == 3) {
                p = new Waiter(5000);
                System.out.println(p.allSalary());
            } else {
                System.out.println("?\n請輸入1-3");
            }
        }
}
}

—子類:Scientist .java

 public class Scientist extends Person{
    public Scientist(int salary){
        this.salary = salary;
    }
    public int allSalary(){
        int aa = salary*12+36500;
        System.out.print("五五開一年的工資:");
        return aa;
    }
}

Waiter.java

public class Waiter extends Person{
    public Waiter(int salary){
        this.salary = salary;
    }
    public int allSalary(){
        int aa = salary*12;
        System.out.print("服務員一年的工資:");
        return aa;
    }
}

Teacher .java

public class Teacher extends Person{
    public Teacher(int salary){
        this.salary = salary;
    }
    public int allSalary(){
        int aa = salary*12+3650;
        System.out.print("教師一年的工資:");
        return aa;
    }
}

感謝各位的閱讀!看完上述內容,你們對java多態的案例分析大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛南县| 北安市| 南陵县| 凤城市| 乐业县| 同德县| 蒙自县| 饶平县| 兴化市| 手机| 会同县| 杭锦旗| 乃东县| 调兵山市| 拉孜县| 松桃| 双城市| 台前县| 独山县| 怀安县| 始兴县| 广南县| 阿坝| 阿荣旗| 峨山| 崇礼县| 都兰县| 宜兰市| 石渠县| 观塘区| 桑日县| 慈利县| 海宁市| 新建县| 竹北市| 望谟县| 绩溪县| 米脂县| 漳州市| 江门市| 精河县|