我們先看下抽象類的由來(lái),抽象類是將具有類似特點(diǎn)的事物相同部分進(jìn)行抽取而來(lái)的,他的目的是提供繼承:
例如:
程序員:
屬性:姓名、薪水
方法:工作
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括黑河網(wǎng)站建設(shè)、黑河網(wǎng)站制作、黑河網(wǎng)頁(yè)制作以及黑河網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,黑河網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到黑河省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
經(jīng)理:
屬性:姓名、薪水、獎(jiǎng)金
方法:工作
程序員和經(jīng)理有共同的屬性:姓名,薪水,有共同的方法工作,將他們這些共性的部分抽取出來(lái)就可以形成抽象類 員工。在這個(gè)例子中員工本身是沒(méi)有意義的他的意義就在于可以作為程序員和經(jīng)理的父類,提供繼承。而員工這個(gè)類我們可以把它定義為抽象類。
abstract class Employee{
public String name;
public double pay;
public abstract void work();
}
程序員繼承員工類:
class Programmer extends Employee{
public void work(){
System.out.println("codeing....");
}
}
經(jīng)理也繼承員工類:
class Manage extends Employee{
public int bouns;
public void work(){
System.out.println("manage");
}
}
關(guān)于抽象類有一些需要注意的地方:
接口是一種特殊的抽象類,在接口中所有的方法都是抽象方法。它比抽象類提供了更高的抽象。接口一般是用來(lái)定義一組規(guī)范,比如我們常說(shuō)的usb接口就是一種電腦外設(shè)的規(guī)范,不管是鼠標(biāo)還是鍵盤還是u盤,只要符合這個(gè)規(guī)范的外設(shè)都可以插入這個(gè)接口。
使用usb接口可以降低鼠標(biāo)鍵盤這些外設(shè)和筆記本電腦的耦合性。
interface USB
{
public void open();
}
Class Mouse implements USB{
Public void open(){
System.out.println(“鼠標(biāo)開始工作!”);
}
}
Class KeyBoard implements USB{
Public void open(){
System.out.println(“鍵盤開始工作”);
}
}
接口和抽象類之間的區(qū)別在于他們的目的不同,抽象類是為了提供繼承,而接口是為了提供一種規(guī)范,目的是為了降低耦合,接口比抽象類抽象程度更高。