我們先看下抽象類的由來,抽象類是將具有類似特點的事物相同部分進行抽取而來的,他的目的是提供繼承:
例如:
程序員:
屬性:姓名、薪水
方法:工作
經理:
屬性:姓名、薪水、獎金
方法:工作
程序員和經理有共同的屬性:姓名,薪水,有共同的方法工作,將他們這些共性的部分抽取出來就可以形成抽象類 員工。在這個例子中員工本身是沒有意義的他的意義就在于可以作為程序員和經理的父類,提供繼承。而員工這個類我們可以把它定義為抽象類。
abstract class Employee{
public String name;
public double pay;
public abstract void work();
}
程序員繼承員工類:
class Programmer extends Employee{
public void work(){
System.out.println("codeing....");
}
}
經理也繼承員工類:
class Manage extends Employee{
public int bouns;
public void work(){
System.out.println("manage");
}
}
關于抽象類有一些需要注意的地方:
接口是一種特殊的抽象類,在接口中所有的方法都是抽象方法。它比抽象類提供了更高的抽象。接口一般是用來定義一組規范,比如我們常說的usb接口就是一種電腦外設的規范,不管是鼠標還是鍵盤還是u盤,只要符合這個規范的外設都可以插入這個接口。
使用usb接口可以降低鼠標鍵盤這些外設和筆記本電腦的耦合性。
interface USB
{
public void open();
}
Class Mouse implements USB{
Public void open(){
System.out.println(“鼠標開始工作!”);
}
}
Class KeyBoard implements USB{
Public void open(){
System.out.println(“鍵盤開始工作”);
}
}
接口和抽象類之間的區別在于他們的目的不同,抽象類是為了提供繼承,而接口是為了提供一種規范,目的是為了降低耦合,接口比抽象類抽象程度更高。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。