1、抽象類與接口:
抽象類是一種類,里面除了有抽象方法外,還可以有具體的方法;
接口里面必須都是抽象的方法;
在Java中,凡是聲明為形如:abstract void function()的方法,都是抽象方法;
包含抽象方法的類就是抽象類,抽象類中是可以沒有抽象方法的;
有抽象方法的類必須是抽象類;
抽象類不一定有實體方法。
2、繼承:
Java繼承機制不允許多重繼承類,但一個類允許實現(xiàn)多個接口
繼承抽象類時,必須重寫其抽象方法;
抽象類不能被聲明為final類型的,因為加final關(guān)鍵字的類保證不能被繼承,因此為抽象類加final關(guān)鍵字,這個類就沒法用了。抽象類只能被繼承,不能被實例化!
聲明為interface的類為接口,比抽象類更加抽象的一種機制。在接口中,我們不能提供任何實現(xiàn),所有方法必須都是抽象的,可以不加 abstract關(guān)鍵字,但是編譯器對于接口中的方法,都是直接按抽象方法處理的。我們通過implements來實現(xiàn)某個接口。當(dāng)我們實現(xiàn)某個接口時,必須重寫其所有方法。
3、總結(jié)一下抽象類與接口的區(qū)別和聯(lián)系:
a) 抽象類是類,可以有實體方法。
b) 抽象類不能實現(xiàn)多繼承,而接口可以。
c) 如果需要創(chuàng)建不帶任何方法定義和成員變量的基類,則使用接口,如果類中需要有部分具體的實現(xiàn),則使用抽象類。
d) 如果事先想要將某類設(shè)計為一個基類,那么首選接口。
2015職稱計算機考試書PowerPoint2007中 .. 定價:¥45 優(yōu)惠價:¥42 更多書籍 | |
2015年全國職稱計算機考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |