Java abstract class 與 interface 的差別

閱讀時間約 2 分鐘
  • abstract class = 抽象類別
  • interface = 介面
  • 抽象類別與介面都無法建立物件。

1. 使用abstract關鍵字來建立抽象類別,interface關鍵字建立介面。
2. 類別可使用extends關鍵字,來繼承abstract class的屬性和方法。實現interface則是使用implements關鍵字。(只能extends一個abstract class,可以implements多個interface)
3. 抽象類別中可以定義「抽象方法」或「非抽象方法」,介面中則只能定義「抽象方法」,Java 8以後還能用靜態(static)方法和預設(default)方法。
4. 繼承abstract class的類別,須實作抽象方法。實現interface的類別,也需實作抽象方法,否則會有error。
5. 抽象類別的屬性或方法可以宣告成public | private | protected,除了抽象方法不可為private。介面則方法只能是public(預設也是public),屬性只能是public final static(預設也是public final static)。
6. interface只能繼承interface,且可以繼承多個。abstract class可以繼承一個class與實現多個interface。
  • interface只能繼承interface,且可以繼承多個:
  • abstract class可以繼承一個class(只能一個)與實現多個interface。
為什麼會看到廣告
20會員
161內容數
留言0
查看全部
發表第一個留言支持創作者!
Vic Lin的沙龍 的其他內容
Laravel MongoDB CRUD
閱讀時間約 4 分鐘
Vue.js 環境建置 - Vue CLI
閱讀時間約 3 分鐘
Vue.js 快速入門
閱讀時間約 2 分鐘
物件導向設計原則 - SOLID
閱讀時間約 7 分鐘
Vue3 Composition API
閱讀時間約 7 分鐘
SCSS入門 - 在Vue中使用SCSS
閱讀時間約 3 分鐘
你可能也想看
迎新活動「方格新手村」:新格友註冊加入方格子,知名日料吃到飽餐券送給你! 👉 還不是 vocus 的會員嗎?點此註冊,參與新手村活動 👈 近期站上也出現了不少新格友,為了歡迎各位的加入,「方格新手村」隨之登場! 即日起,只要是新註冊帳號於活動期間內發佈 3 則文章,就有機會抽獎獲得知名日料吃到飽餐券。原格友也可以一起同樂,我們準備了小任
Thumbnail
2024-06-21
97
川普當選,對台股是利多還是利空?川普在槍擊事件中所表現出來的英勇形象,讓他贏得美國總統大選幾乎已成定局。沒想到他隨口的一句話「台灣搶走美國的晶片生意,所以要付保護費」,就讓台積電在短短三天跌掉超過100 元,台股也跌掉1100點以上。台積電、台股會就此一路下跌嗎?未來該如何因應?  
Thumbnail
2024-07-20
52
金融科技與生活美學的融合 CUBE App實踐自我理想最近開啟了研究工作,也開始斜槓著手團購、行銷、洽談業務,慢慢想打造一條屬於自己的道路,而工作忙碌之虞,總忘記自己刷卡消費明細、信用卡繳費,還會忽略了最應該的投資理財,也常常在忙碌奔波中忘記信用卡優惠,國泰世華CUBE App給足了這些功能和服務。 日常生活與數位、科技形影不離,同時也拉近彼此距
Thumbnail
2024-07-11
11
[Java][Spring Cloud]電子錢包系統電子錢包提供獨立的餘額帳戶系統:開戶、交易明細等。 系統流程 使用者介面使用充值,電子錢包系統將會生成充值訂單,然後呼叫支付系統。 支付系統結束後,會將結果告知電子錢包系統,然後更新餘額。 系統結構 Controller:定義服務介面。 Service:處理業務邏輯並透過Dao完
2024-05-31
6
[Java Script][Vue.js]充值頁面 <template> <div id="charge"> <el-card class="box-card"> <ul class="msg-box"> <li> <h4>充值</h4> </li> <li>
2024-05-31
0
[Java Script][Vue.js]顯示金額<template> <div id="queryAcc"> <!-- 由於Element-UI官方支援的ICON圖標比較少,這裡我們自訂一個貨幣圖標--> <i class="el-icon-xxx"/><br/> <div> <span>金額</span>
2024-05-31
1
[Java Script]Vue.jsVue.js是一種基於MVVM的前端JavaScript框架,類似的框架有React、Angular等。 架設環境 安裝Visual Studio Code(https://code.visualstudio.com/) 安裝Node.js(https://nodejs.org/en/
Thumbnail
2024-05-29
4
[Java][Spring Cloud]DevOps這篇的DevOps發佈系統是以Spring Cloud微服務(微服務)為背景;由GitLab、Harbor與Kubernetes組成。 GitLab負責版本管理與CI/CD(CI/CD)。 Harbor負責Docker([Docker]介紹) Image的儲存與發佈。 Kubernetes([
Thumbnail
2024-05-28
3
Java Bird Coffee|通化街六張犁商圈,小巧而溫馨禾雀咖啡工作室位在通化街尾端,靠近六張犁的禾雀咖啡工作室,質樸的感覺是一家適合假日早晨來待上好一會兒的好去處。 主打自家烘培手沖及義式咖啡,最大特色還有自家製的麵包、甜點輕食,最喜歡吃的莫過於他們的鮮奶吐司。曾經住在這裡好長一段時間,週末去搶個一包可以在家裡烤來吃,是相當幸福的感覺。 冰羅馬咖啡則是我喝過最喜歡的
Thumbnail
2023-02-06
13
JAVA繼承篇繼承 在Java中,一個類可以由其他類派生。如果你要創建一個類,而且已經存在一個類具有你所需要的屬性或方法,那麼你可以將新創建的類繼承該類。 利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super class),派生類稱為子類(subclass)。 繼承的特
Thumbnail
【自學錄】java 實踐問題win 11命令提示字元操作問題: cd變更目錄位置失敗: C:Users\Administrator>cd  \Users\Administrator\Desktop\路徑\public class Hello world { (目錄名稱無效)
2021-07-15
0
簡單理解Java的functional interface在學Java的人也許多少人會跟小的一樣不是很理解functional interface到底在幹嘛,也覺得語法很多此一舉。希望能夠在此拋磚引玉
Thumbnail
2021-06-26
3
迎新活動「方格新手村」:新格友註冊加入方格子,知名日料吃到飽餐券送給你! 👉 還不是 vocus 的會員嗎?點此註冊,參與新手村活動 👈 近期站上也出現了不少新格友,為了歡迎各位的加入,「方格新手村」隨之登場! 即日起,只要是新註冊帳號於活動期間內發佈 3 則文章,就有機會抽獎獲得知名日料吃到飽餐券。原格友也可以一起同樂,我們準備了小任
Thumbnail
2024-06-21
97
川普當選,對台股是利多還是利空?川普在槍擊事件中所表現出來的英勇形象,讓他贏得美國總統大選幾乎已成定局。沒想到他隨口的一句話「台灣搶走美國的晶片生意,所以要付保護費」,就讓台積電在短短三天跌掉超過100 元,台股也跌掉1100點以上。台積電、台股會就此一路下跌嗎?未來該如何因應?  
Thumbnail
2024-07-20
52
金融科技與生活美學的融合 CUBE App實踐自我理想最近開啟了研究工作,也開始斜槓著手團購、行銷、洽談業務,慢慢想打造一條屬於自己的道路,而工作忙碌之虞,總忘記自己刷卡消費明細、信用卡繳費,還會忽略了最應該的投資理財,也常常在忙碌奔波中忘記信用卡優惠,國泰世華CUBE App給足了這些功能和服務。 日常生活與數位、科技形影不離,同時也拉近彼此距
Thumbnail
2024-07-11
11
[Java][Spring Cloud]電子錢包系統電子錢包提供獨立的餘額帳戶系統:開戶、交易明細等。 系統流程 使用者介面使用充值,電子錢包系統將會生成充值訂單,然後呼叫支付系統。 支付系統結束後,會將結果告知電子錢包系統,然後更新餘額。 系統結構 Controller:定義服務介面。 Service:處理業務邏輯並透過Dao完
2024-05-31
6
[Java Script][Vue.js]充值頁面 <template> <div id="charge"> <el-card class="box-card"> <ul class="msg-box"> <li> <h4>充值</h4> </li> <li>
2024-05-31
0
[Java Script][Vue.js]顯示金額<template> <div id="queryAcc"> <!-- 由於Element-UI官方支援的ICON圖標比較少,這裡我們自訂一個貨幣圖標--> <i class="el-icon-xxx"/><br/> <div> <span>金額</span>
2024-05-31
1
[Java Script]Vue.jsVue.js是一種基於MVVM的前端JavaScript框架,類似的框架有React、Angular等。 架設環境 安裝Visual Studio Code(https://code.visualstudio.com/) 安裝Node.js(https://nodejs.org/en/
Thumbnail
2024-05-29
4
[Java][Spring Cloud]DevOps這篇的DevOps發佈系統是以Spring Cloud微服務(微服務)為背景;由GitLab、Harbor與Kubernetes組成。 GitLab負責版本管理與CI/CD(CI/CD)。 Harbor負責Docker([Docker]介紹) Image的儲存與發佈。 Kubernetes([
Thumbnail
2024-05-28
3
Java Bird Coffee|通化街六張犁商圈,小巧而溫馨禾雀咖啡工作室位在通化街尾端,靠近六張犁的禾雀咖啡工作室,質樸的感覺是一家適合假日早晨來待上好一會兒的好去處。 主打自家烘培手沖及義式咖啡,最大特色還有自家製的麵包、甜點輕食,最喜歡吃的莫過於他們的鮮奶吐司。曾經住在這裡好長一段時間,週末去搶個一包可以在家裡烤來吃,是相當幸福的感覺。 冰羅馬咖啡則是我喝過最喜歡的
Thumbnail
2023-02-06
13
JAVA繼承篇繼承 在Java中,一個類可以由其他類派生。如果你要創建一個類,而且已經存在一個類具有你所需要的屬性或方法,那麼你可以將新創建的類繼承該類。 利用繼承的方法,可以重用已存在類的方法和屬性,而不用重寫這些代碼。被繼承的類稱為超類(super class),派生類稱為子類(subclass)。 繼承的特
Thumbnail
【自學錄】java 實踐問題win 11命令提示字元操作問題: cd變更目錄位置失敗: C:Users\Administrator>cd  \Users\Administrator\Desktop\路徑\public class Hello world { (目錄名稱無效)
2021-07-15
0
簡單理解Java的functional interface在學Java的人也許多少人會跟小的一樣不是很理解functional interface到底在幹嘛,也覺得語法很多此一舉。希望能夠在此拋磚引玉
Thumbnail
2021-06-26
3