java繼承和多態(tài)代碼 java 繼承 多態(tài)

用Java繼承和多態(tài)實(shí)現(xiàn)編寫(xiě)代碼

代碼如下:

在綏芬河等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)整合營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè),綏芬河網(wǎng)站建設(shè)費(fèi)用合理。

abstract?class?DongWu?{

public?abstract?void?info();

}

class?Bird?extends?DongWu?{

@Override

public?void?info()?{

System.out.println("我是一只鳥(niǎo)。");

}

}

class?Fish?extends?DongWu?{

@Override

public?void?info()?{

System.out.println("我是一條魚(yú)。");

}

}

public?class?App5?{

public?static?void?main(String[]?args)?{

DongWu?bird?=?new?Bird();

bird.info();

DongWu?fish?=?new?Fish();

fish.info();

}

}

java繼承多態(tài)和抽象類接口?

一、繼承

通過(guò)擴(kuò)展一個(gè)已有的類,并繼承該類的屬性和行為,來(lái)創(chuàng)建一個(gè)新的類。已有的稱為父類,新的類稱為子類(父類派生子類,子類繼承父類)。

(1)繼承的優(yōu)點(diǎn):

①代碼的可重用性;

②父類的屬性的方法可用于子類;

③子類可擴(kuò)展父類的屬性和方法;

④設(shè)計(jì)應(yīng)用程序變得更加簡(jiǎn)單。

(2)關(guān)鍵字“isa”用于判斷父類和子類的繼承關(guān)系是否正確。

(3)Java中繼承的實(shí)現(xiàn):

public?class?子類extends?父類{}

(4)繼承的單根性:在Java中一個(gè)類只能有一個(gè)父類;

傳遞性:一個(gè)Java類可以父類,父類也可以有父類。

(5)所有類的根類:

Object類,又叫基類或超類。

Object類是每個(gè)Java類的父類,要么是直接的父類,要么就是間接的父類。

Object類中的三個(gè)重要方法:

①public?boolean?equals(Objectx):檢測(cè)兩個(gè)對(duì)象是否相等。

該方法經(jīng)常被重寫(xiě)。若兩個(gè)對(duì)象通過(guò)該方法判斷是相等的,那么兩個(gè)對(duì)象的hashCode()方法應(yīng)該產(chǎn)生相同的哈希碼

②public?String?toString:該方法返回對(duì)象的字符串表示。

用字符串來(lái)表示對(duì)象有助于調(diào)試或測(cè)試。

③protected?void?finalize()?throws?Throwale:

該方法在對(duì)象將要被垃圾回收時(shí)調(diào)用。

(6)方法重寫(xiě):

子類可以重寫(xiě)從父類繼承的方法,從而允許子類添加或者改變父類中方法的行為。

該行為方法生在子類中,對(duì)父類方法重寫(xiě)。

子類重寫(xiě)父類方法時(shí),北京北大青鳥(niǎo)認(rèn)為必須遵循如下規(guī)則:

①子類的方法的返回值類型、方法名和形式參數(shù)列表必須和父類中的是相同的;

②訪問(wèn)修飾符必須不小于父類中的訪問(wèn)修飾符;

③子類中重寫(xiě)拋出的異常不能比父類中拋出的異常多。

java中繼承和多態(tài)區(qū)別?

總的來(lái)說(shuō):編譯時(shí)看父類,運(yùn)行時(shí)看子類。

繼承,子類繼承父類中所以的屬性和方法,但是對(duì)于private的屬相和方法,由于這個(gè)是父類的隱私,所以子類雖然是繼承了,但是沒(méi)有可以訪問(wèn)這些屬性和方法的引用,所以相當(dāng)于沒(méi)有繼承到。很多時(shí)候,可以理解為,沒(méi)有繼承。

多態(tài):就是父類引用可以持有子類對(duì)象。這時(shí)候只能調(diào)用父類中的方法,而子類中特有方法是無(wú)法訪問(wèn)的,因?yàn)檫@個(gè)時(shí)候(編譯時(shí))你把他看作父類對(duì)象的原因,但是到了運(yùn)行的時(shí)候,編譯器就會(huì)發(fā)現(xiàn)這個(gè)父類引用中原來(lái)是一個(gè)子類的對(duì)像,所以如果父類和子類中有相同的方法時(shí),調(diào)用的會(huì)是子類中的方法,而不是父類的。

用java繼承,多態(tài)與接口

題目有關(guān)回答如下,供參考:

4、this:當(dāng)前對(duì)象的引用

super:當(dāng)前對(duì)象的超(父)類對(duì)象的一個(gè)引用

5、繼承是面向?qū)ο笞铒@著的一個(gè)特性。

繼承的意義:繼承是從已有的類中派生出新的類,新的類能吸收已有類的數(shù)據(jù)屬性和行為,并能擴(kuò)展新的能力。

定義繼承:使用關(guān)鍵字 extends 來(lái)實(shí)現(xiàn)繼承

6、多態(tài)(Polymorphism)按字面的意思就是“多種狀態(tài)”,也是面向?qū)ο蟮囊粋€(gè)特性。

允許將子類類型的引用賦值給父類類型的引用。

7、代碼如下:

/**

*?父類(圖形)

*?

*?@author?qd

*

*/

abstract?class?Figure?{

double?area;

}

/**

*?求面積的接口

*?

*?@author?qd

*

*/

interface?Area?{

public?void?getArea();

}

/**

*?三角形

*?

*?@author?qd

*

*/

class?Triangle?extends?Figure?implements?Area?{

//?底

double?bottom;

//?高

double?high;

public?Triangle(double?bottom,?double?high)?{

super();

this.bottom?=?bottom;

this.high?=?high;

}

@Override

public?void?getArea()?{

area?=?bottom?*?high?*?0.5;

System.out.println("三角形面積是:"?+?area);

}

}

/**

*?正方形

*?

*?@author?qd

*

*/

class?Square?extends?Figure?implements?Area?{

//?邊長(zhǎng)

double?length;

public?Square(double?length)?{

super();

this.length?=?length;

}

@Override

public?void?getArea()?{

area?=?length?*?length;

System.out.println("正方形面積是:"?+?area);

}

}

/**

*?圓

*?

*?@author?qd

*

*/

class?Circular?extends?Figure?implements?Area?{

//?半徑

double?radius;

public?Circular(double?radius)?{

super();

this.radius?=?radius;

}

@Override

public?void?getArea()?{

area?=?Math.PI?*?radius?*?radius;

System.out.println("圓面積是:"?+?area);

}

}

public?class?Test?{

public?static?void?main(String[]?args)?{

//?三角形對(duì)象

Area?triangle?=?new?Triangle(3,?4);

triangle.getArea();

//?正方形對(duì)象

Area?square?=?new?Square(4);

square.getArea();

//?圓對(duì)象

Area?circular?=?new?Circular(2);

circular.getArea();

}

}

8、代碼如下:

/**

*?球類

*?

*?@author?qd

*

*/

class?Ball?{

//?私有成員變量半徑

private?double?r;

public?double?getR()?{

return?r;

}

public?void?setR(double?r)?{

this.r?=?r;

}

}

/**

*?臺(tái)球

*?

*?@author?qd

*

*/

class?Billiards?extends?Ball?{

//?私有成員變量顏色

private?String?color;

public?void?setColor(String?color)?{

this.color?=?color;

}

//?輸出信息

public?void?printMess(Billiards?billiards,Ball?ball)?{

System.out.println("臺(tái)球的顏色是:"?+?billiards.color?+?"???臺(tái)球的半徑是:"?+?ball.getR());

}

}

/**

*?公有測(cè)試類

*?

*?@author?qd

*

*/

public?class?TestBall?{

public?static?void?main(String[]?args)?{

Ball?ball?=?new?Ball();

ball.setR(5);

Billiards?billiards?=?new?Billiards();

billiards.setColor("白色");

billiards.printMess(billiards,ball);

}

}

7題和8題測(cè)試如下:

網(wǎng)站題目:java繼承和多態(tài)代碼 java 繼承 多態(tài)
分享網(wǎng)址:http://muchs.cn/article48/ddiphep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)、云服務(wù)器移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)