抽象類(abstract class)和介面(interface)的區別

抽象類與介面的主要區別在於Java介面的過程本質上是抽象的,不能有應用程式。廣義地說,介面實際上是一個契約,當我們談論介面時,它適用於方法沒有主體,它只是一個模式。而抽象類基本上是使用成本較高的類。抽象類和介面是一個完全不同的概念,這是兩個不同的東西,但有時它們的實現非常相似。...

主要區別

抽象類與介面的主要區別在於Java介面的過程本質上是抽象的,不能有應用程式。廣義地說,介面實際上是一個契約,當我們談論介面時,它適用於方法沒有主體,它只是一個模式。而抽象類基本上是使用成本較高的類。抽象類和介面是一個完全不同的概念,這是兩個不同的東西,但有時它們的實現非常相似。

什麼是抽象類(abstract class)?

抽象類並不是程式設計師完全隱含的。抽象類可以有一個或多個抽象方法。它們對於建模類分組或排名非常有用,當這一過程被執行時,程式設計師會在看到需求之後得到構建什麼的想法。抽象類不能完全依賴,因為它缺少某些部分。這一論點背後的主要觀點是,抽象類嚴格面向物件,儘管它有一個方法標題,但沒有正文。當我們談論抽象類時,兩個類之間有著很強的聯絡,因為這兩個類傾向於從另一個類獲得或繼承。

什麼是介面(interface)?

相反,當我們談論介面時,介面本身與表示介面的類之間的關係或通訊不如抽象類中的強。Java類可以實現許多介面,但可以從單個抽象類繼承。所以,這意味著當你想同時暗示許多互動時,介面就是你的東西。除此之外,即使您暫時不想更改API,介面也是您的最佳選擇。介面實際上是兩個不同物件之間的契約。簡而言之,介面圍繞著功能。

主要區別

  1. 抽象類是面向物件的,而介面是面向函式的。
  2. 當你想讓API保持一段時間不變時,你就選擇了介面而不是抽象類。
  3. 透過暗示多個介面可以獲得多個繼承。在抽象類中,不能獲得多個繼承。
  4. 如果將來需要在工作中新增方法,那麼選擇抽象類,而不是介面。
  5. 抽象類提供了一個公共的基類應用程式,但在介面中沒有發生這種情況。
  6. 在介面中,您實現的所有方法都是公共的,但是在抽象類中,您也可以應用一些非公共方法。
  7. 建構函式不在介面中,但它們確實出現在抽象類中。
  8. 抽象類的完整成員可以是靜態的,但不是介面的。

對比影片

  • 發表於 2020-06-25 18:47
  • 閱讀 ( 21 )
  • 分類:教育

你可能感興趣的文章

包裹(package)和java介面(interface in java)的區別

Java中的Package和Interface的主要區別在於,Package有助於對類進行有條理的分類以方便訪問和維護,而Interface則有助於實現多個繼承和實現抽象。 Java是最流行的程式語言之一。Java的主要優點是它支援面向物件程式設計。這種方...

  • 發佈於 2020-10-18 11:01
  • 閲讀 ( 53 )

班(class)和結構(c)#(structure in c#)的區別

... 兩者都有屬性和方法。 類和結構都可以實現一個或多個介面。 班(class)和c中的結構#(structure in c#)的區別 C語言中的類與結構# 類是用於建立物件的藍圖。 結構是一種值型別的資料型別,可以儲存各種資料型別的相...

  • 發佈於 2020-10-19 17:15
  • 閲讀 ( 54 )

摘要(abstract)和介紹(introduction)的區別

...解兩者的區別,以及摘要和導言的作用。 什麼是摘要(an abstract)? 首先讓我們從抽象開始。摘要,也稱為大綱,是期末論文的簡短形式。它包含了研究結果的關鍵。摘要也指提交會議或研討會的研究論文的簡短版本。任何一所大...

  • 發佈於 2020-10-22 19:14
  • 閲讀 ( 52 )

班(class)和介面(interface)的區別

班(class)和介面(interface)的區別 面向物件程式設計(OOP)是軟體開發中的一種常見正規化。它有助於使用類和物件為程式設計帶來真實的場景。類是建立物件的藍圖。程式設計師可以用屬性和方法建立一個類。學生和老師是客...

  • 發佈於 2020-10-24 04:25
  • 閲讀 ( 57 )

繼承(inheritance)和java介面(interface in java)的區別

繼承(inheritance)和java介面(interface in java)的區別 Java是Sun Microsystems公司開發的一種程式語言。Java可以用來開發各種應用程式。它是一種支援面向物件、結構化等多種正規化的語言,Java的主要優點是支援面向物件程式設計(OOP)...

  • 發佈於 2020-10-25 00:02
  • 閲讀 ( 66 )

摘要(abstract)和具體思路(concrete thinking)的區別

...這兩個術語,並找出它們之間的差異。 什麼是抽象思維(abstract thinking)? 首先,抽象思維可以解釋為一種思維方式,這種思維方式集中於對某一事物的概念化或概括化。一個抽象的思考者可以從別人看不到的角度來看待一個特定...

  • 發佈於 2020-11-04 10:41
  • 閲讀 ( 49 )

你的程式碼能聞到!如何修復

...le v) { vehicle = v; } public void commute() { vehicle.drive(); }}interface Vehicle { void drive();}class Bike implements Vehicle { public void drive() { }}class Car implements Vehicle { public void drive() { }} ...

  • 發佈於 2021-03-12 10:58
  • 閲讀 ( 50 )

關於javarmi註冊中心以及如何使用它的所有內容

... import java.rmi.Remote;import java.rmi.RemoteException;public interface Greeting extends Remote{ public String greet(String name) throws RemoteException;} ...

  • 發佈於 2021-03-12 15:58
  • 閲讀 ( 65 )

入門時應學習的10個核心java概念

... public interface List { public void add(Object obj); public Object get(int index); public void remove(int index);} ...

  • 發佈於 2021-03-13 05:33
  • 閲讀 ( 49 )

面向物件程式設計中抽象的初學者指南

... 什麼是抽象什麼(abstract and what)? ...

  • 發佈於 2021-03-30 04:01
  • 閲讀 ( 80 )

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦