Java中 接口是如何實現多態的特性的


Java中多態是個很難理解的概念,但同時又是非常重要的概念,Java三大特性(封裝、繼承、多態)之一,我們從字面上理解,就是一種類型的多種狀態,一下通過賣小汽車的例子再次說明什么是多態,其中利用到了接口。

代碼實例:

//汽車接口
interface Car{
    //要求 接口中有:汽車名稱和售價
    
    String getName();
    int getPrice();
    
}
//寶馬類
class BMW implements Car{

    @Override
    public String getName() {
        // TODO Auto-generated method stub
        //return null;
        return "寶馬";
    }

    @Override
    public int getPrice() {
        // TODO Auto-generated method stub
        //return 0;
        return 300000;
    }
    
}

//奇瑞QQ
class CheryQQ implements Car{

    @Override
    public String getName() {
        // TODO Auto-generated method stub
        return "奇瑞QQ";
    }

    @Override
    public int getPrice() {
        // TODO Auto-generated method stub
        return 40000;
    }
    
}
//汽車出售店
class CarShop{
    //收入
    private int money=0;
    
    //賣出一部汽車
    public void sellCar(Car car){
        System.out.println("車型:"+car.getName()+"價格:"+car.getPrice());
        //增加賣出車售價的收入
        money+=car.getPrice();
    }
    //售車總收入
    public int getMoney(){
        return money;
    }
}

測試類:

public class jieKouDemo {
    public static void main(String[]args){
        CarShop shop=new CarShop();
        //賣出一輛寶馬
        shop.sellCar(new BMW());
        //賣出一輛奇瑞QQ
        shop.sellCar(new CheryQQ());
        
        System.out.println("總收入:"+shop.getMoney());
    }

}

注意事項總結:

繼承是多態得以實現的基礎。從字面上理解,多態就是一種類型(都是Car類型)表現出來的多種狀態(寶馬汽車的名稱是BMW,售價300000;奇瑞汽車的名稱是CheryQQ,售價是40000)。將一個方法調用同這個方法所屬的主題(也就是對象或類)關聯起來叫做綁定。

綁定分為:前期綁定和后期綁定。

1.前期綁定:在程序運行之前進行綁定,由編譯器和連接程序實現,又叫做靜態綁定。比如static方法和final方法。注意,這里也包括private方法,因為他是隱式final的。

2.后期綁定:在運行時根據對象的類型進行綁定。由調用機制實現,因此又叫做動態綁定,或運行時綁定。除了前期綁定之外的所有方法都屬於后期綁定。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM