迴歸基礎系列-重載與覆蓋(重寫)[JAVA]

重載:方法具有同一名字,但是具有不同參數類型就是重載,這也是多態的表現。

如:

/**
 * 重載:方法具有同一名字,不同參數類型就是重載,這也是多態的表現
 * @author Ant
 *
 */
public class Overloading {

    public void receive(int i){
        System.out.println("接收了int類型的數據:"+ i);
    }

    public void receive(double i){
        System.out.println("接收了double類型的數據:"+ i);
    }

    public void receive(String i){
        System.out.println("接收了String類型的數據:"+ i);
    }

    public static void main(String[] args) {
        Overloading o = new Overloading();
        o.receive(1);
        o.receive(1.0);
        o.receive("hello world");
    }
}

輸出:
接收了int類型的數據:1
接收了double類型的數據:1.0
接收了String類型的數據:hello world


其實重載在java無處不在,隨便一個String類都能見到,忘記時,多想想,這就是overload(重載)
這裏寫圖片描述

重寫/覆蓋
子類繼承父類,子類具備父類所有特性,子類可以重寫父類方法。
特點:參數和返回值都得相同。

/**
 * 重寫/覆蓋
 * 子類繼承父類,子類具備父類所有特性,子類可以重寫父類方法,特點:參數和返回值都得相同。
 * @author Ant
 *
 */
public class Overriding {
    static class Auto {
        public void startEngine(){
            System.out.println("引擎啓動");
        }
    }

    static class Car extends Auto{
        public void startEngine(){
            System.out.println("車的引擎啓動");
        }
    }

    static class Bus extends Auto{
        public void startEngine(){
            System.out.println("巴士的引擎啓動");
        }
    }

    public static void main(String[] args) {
        Auto auto = new Auto();
        Car car = new Car();
        Bus bus = new Bus();
        auto.startEngine();
        car.startEngine();
        bus.startEngine();
    }
}

輸出:
引擎啓動
車的引擎啓動
巴士的引擎啓動

有意思吧?


下篇將講創建多線程的三種方法
加油!!!!!

發佈了30 篇原創文章 · 獲贊 129 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章