java中的多態(tài)和繼承示例分析
本文實(shí)例講述了java中的多態(tài)和繼承。分享給大家供大家參考,具體如下:
我們知道“多態(tài)”和“繼承”是分不開(kāi)的哦!我們先寫(xiě)2個(gè)類(lèi)!
Car類(lèi)
class Car {
private String name;
private double price;
public Car(String name, double price) {
super();
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public void printlnName() {
System.err.println("name:"+getName());
}
}
BMW類(lèi) 繼承了Car類(lèi)
class BMW extends Car{
private String color;
public BMW(String name, double price, String color) {
super(name, price);
this.color = color;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
什么是多態(tài)呢?
java中,對(duì)象變量是多態(tài)的!一個(gè)Car變量既可以引用一個(gè)Car類(lèi)對(duì)象,也可以引用一個(gè)BMW類(lèi)對(duì)象。
也就是可以這樣寫(xiě):
class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Car car = new BMW("bmw320",300000.0,"white");
}
}
但是這樣寫(xiě),會(huì)產(chǎn)生一個(gè)問(wèn)題,car不能調(diào)用BMW中的方法了。

可以看到,不能調(diào)用BMW中的方法了。
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
logback的ShutdownHook關(guān)閉原理解析
這篇文章主要為大家介紹了logback的ShutdownHook關(guān)閉原理源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
在Spring AOP中代理對(duì)象創(chuàng)建的步驟詳解
今天和小伙伴們聊一聊 Spring AOP 中的代理對(duì)象是怎么創(chuàng)建出來(lái)的,透過(guò)這個(gè)過(guò)程再去熟悉一下 Bean 的創(chuàng)建過(guò)程,感興趣的小伙伴跟著小編一起來(lái)看看吧2023-08-08
MybatisPlus實(shí)現(xiàn)邏輯刪除的示例代碼
本文主要介紹了Mybatis?Plus實(shí)現(xiàn)邏輯刪除的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
如何在Intellij中安裝LeetCode刷題插件方便Java刷題

