abstract 關鍵字

閱讀時間約 2 分鐘
abstract method 一定要在 abstract class裡面
abstract class裡面不一定要有abstract method

使用時機

設計class時,知道該class應該要有哪些feature(method) 功能,但你還不確定確切該做什麼事情,或是這個功能之後會根據各種sub-class而有各自不同的實現。

abstract class Human{

public abstract void speak();

public void eat(){
System.out.println("Eat something~");
}
}

class Korean extends Human{

public void speak() {
System.out.println("Speak in Korean");
}
}

public class Demo {
public static void main(String[] args) {

Human korean = new Korean();
korean.speak(); // Speak in Korean

Human japanese = new Human() {

public void speak() {
System.out.println("Speak in Japanese");
}
};

japanese.speak(); // Speak in Japanese
}

上方程式部分

我定義了一個Human class

人類一定要吃,所以我明確寫了一個eat method

而這個人是哪一國人會說什麼語言?

這我不知道,所以寫上abstract關鍵字 - 第3行


方法一

定義一個Korean class extends Human 並重寫speak method - 第10~15行

方法二

使用anonymous inner class的方式,在new 物件的時候就直接重寫speak method - 第23~28行

anonymous inner class 只會建立使用一次性class,
不像class Korean可以在許多地方被重複使用(new 新的物件)。
當你確定這個class永遠不會在其他地方使用到的話,可以用這種方式速速創建並使用。
我的Java學習日記
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
public: 可以在任何地方存取(access) private: 只能在同class中存取 default: 只能在同package中存取 protected: 只能在同package,以及它的子class存取。不能在不同package的非子class存取
Java不能同時多重繼承 但是可以多層繼承
表面上看似改變了,但底層記憶體中的值是沒有改變的。
每個method都有一個自己的stack Instance Variable 會存在heap中 Local Variable 會存在stack中
Switch陳述式在 Java 12 之前與之後的差別
WORA, Write Once Run Anywhere Java 不依賴於任何平台,Java可以在任何平台上執行,前提是那平台上要有安裝JVM Java的執行流程
public: 可以在任何地方存取(access) private: 只能在同class中存取 default: 只能在同package中存取 protected: 只能在同package,以及它的子class存取。不能在不同package的非子class存取
Java不能同時多重繼承 但是可以多層繼承
表面上看似改變了,但底層記憶體中的值是沒有改變的。
每個method都有一個自己的stack Instance Variable 會存在heap中 Local Variable 會存在stack中
Switch陳述式在 Java 12 之前與之後的差別
WORA, Write Once Run Anywhere Java 不依賴於任何平台,Java可以在任何平台上執行,前提是那平台上要有安裝JVM Java的執行流程
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
本章節主要介紹Java語言中的函數(也稱為方法)的使用,包括函數的基本結構、函數表達式(Lambda表達式)、箭頭函數、匿名函數的使用,以及如何呼叫函數、如何使用函數參數和函數的返回值等內容。通過學習本章節,讀者將能夠熟練掌握Java語言中的函數相關知識,並能夠在實際編程中靈活運用。
Thumbnail
這一節談的是用物件導向程式設計(object-oriented programming, OOP)的方式來實作隨機漫步。
※ class類別 什麼是class? class是創造consturctor function時的語法糖,本質上與使用function創造物件(object)的行為沒有不同。 class的作用: 用來定義、描述要創造的物件(object)具有那些屬性、行為的一個表達式。就像是「車子的設計圖
Thumbnail
今á日咱beh講ê詞是準講,chit塊詞ê意思to̍h是假影講,設使講,seng當做tāi-chì是án-ne。「Nā準講伊無beh參與,咱to̍h ka-tī來進行,好--無?」Tī chia to̍h是seng假設1 ê條件,nā發生,beh計畫koh來ài如何應對。 準mā有tio̍
Thumbnail
先前我們談論到靜態方法就像是定義工具箱一樣,那麼抽象方法就像是共用表格的概念,例如註冊帳號時會填寫的一些基本資料,就有包含制式的表格,裡面有需填寫的欄位,例如姓名,性別等。
Thumbnail
在使用類別創建實例時,輸入的屬性的都要定義好資料型態,例如dog_1 = Dog("Buddy", 3),有沒有輸入一段字串讓他自己判斷的方法阿? 有的就是使用classmethod: classmethod 是一種裝飾器,它用於定義類別方法。類別方法與實例方法不同,它們被綁定到類別而不是實例。
Thumbnail
本文將介紹自定函式及應用,利用程式範例解釋為什麼要用到自定函式 自定函式好處當然就是,讓你的程式碼看起來比較簡潔,在重複使用到的程式碼區塊,可以包裝成函式,讓你重複使用它。
Thumbnail
這一個題目是我這學期帶的其中一位學生的問題。 他的問題是:「自他動詞的規則是什麼?要怎麼背?或是怎麼樣去理解?」 いくえ先生在這個板上已經寫過一些自他動詞的比較文 整理在這邊: [日語筆記]連日本人都不知道的自他動詞 久利生公平:変わった人と変わった人 [日本人在想什麼?] 落ちる/
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
本章節主要介紹Java語言中的函數(也稱為方法)的使用,包括函數的基本結構、函數表達式(Lambda表達式)、箭頭函數、匿名函數的使用,以及如何呼叫函數、如何使用函數參數和函數的返回值等內容。通過學習本章節,讀者將能夠熟練掌握Java語言中的函數相關知識,並能夠在實際編程中靈活運用。
Thumbnail
這一節談的是用物件導向程式設計(object-oriented programming, OOP)的方式來實作隨機漫步。
※ class類別 什麼是class? class是創造consturctor function時的語法糖,本質上與使用function創造物件(object)的行為沒有不同。 class的作用: 用來定義、描述要創造的物件(object)具有那些屬性、行為的一個表達式。就像是「車子的設計圖
Thumbnail
今á日咱beh講ê詞是準講,chit塊詞ê意思to̍h是假影講,設使講,seng當做tāi-chì是án-ne。「Nā準講伊無beh參與,咱to̍h ka-tī來進行,好--無?」Tī chia to̍h是seng假設1 ê條件,nā發生,beh計畫koh來ài如何應對。 準mā有tio̍
Thumbnail
先前我們談論到靜態方法就像是定義工具箱一樣,那麼抽象方法就像是共用表格的概念,例如註冊帳號時會填寫的一些基本資料,就有包含制式的表格,裡面有需填寫的欄位,例如姓名,性別等。
Thumbnail
在使用類別創建實例時,輸入的屬性的都要定義好資料型態,例如dog_1 = Dog("Buddy", 3),有沒有輸入一段字串讓他自己判斷的方法阿? 有的就是使用classmethod: classmethod 是一種裝飾器,它用於定義類別方法。類別方法與實例方法不同,它們被綁定到類別而不是實例。
Thumbnail
本文將介紹自定函式及應用,利用程式範例解釋為什麼要用到自定函式 自定函式好處當然就是,讓你的程式碼看起來比較簡潔,在重複使用到的程式碼區塊,可以包裝成函式,讓你重複使用它。
Thumbnail
這一個題目是我這學期帶的其中一位學生的問題。 他的問題是:「自他動詞的規則是什麼?要怎麼背?或是怎麼樣去理解?」 いくえ先生在這個板上已經寫過一些自他動詞的比較文 整理在這邊: [日語筆記]連日本人都不知道的自他動詞 久利生公平:変わった人と変わった人 [日本人在想什麼?] 落ちる/