溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

接口和抽象類的區別

發布時間:2020-08-12 23:50:16 來源:網絡 閱讀:436 作者:熊熊爬樓梯 欄目:編程語言

我們先看下抽象類的由來,抽象類是將具有類似特點的事物相同部分進行抽取而來的,他的目的是提供繼承:
例如:
程序員:
屬性:姓名、薪水
方法:工作

經理:
屬性:姓名、薪水、獎金
方法:工作

程序員和經理有共同的屬性:姓名,薪水,有共同的方法工作,將他們這些共性的部分抽取出來就可以形成抽象類 員工。在這個例子中員工本身是沒有意義的他的意義就在于可以作為程序員和經理的父類,提供繼承。而員工這個類我們可以把它定義為抽象類。
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");
}
}
關于抽象類有一些需要注意的地方:

  1. 有抽象方法的類必須是抽象類。
  2. 抽象類中可以有非抽象方法
  3. 繼承了抽象類的類必須實現該抽象類的所有抽象方法,否則它也是一個抽象類。

接口是一種特殊的抽象類,在接口中所有的方法都是抽象方法。它比抽象類提供了更高的抽象。接口一般是用來定義一組規范,比如我們常說的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(“鍵盤開始工作”);
}
}
接口和抽象類之間的區別在于他們的目的不同,抽象類是為了提供繼承,而接口是為了提供一種規范,目的是為了降低耦合,接口比抽象類抽象程度更高。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女