狠狠撸

狠狠撸Share a Scribd company logo
1
物件封装
學習目標
? 瞭解封裝觀念與實現
? 定義類別、建構式與方法
? 使用方法重載與不定長度引數
? 瞭解static成員
2
封裝物件初始流程
? 假設你要寫個可以管理儲值卡的應用程式 …
3
封裝物件初始流程
? 你的朋友要建立5張儲值卡的資料:
4
封裝物件初始流程
? 你發現到每次他在建立儲值卡物件時,都會
作相同的初始動作 …
? 在程式中出現重複的流程,往往意謂著有改
進的空間 …
5
封裝物件初始流程
? 可以定義建構式(Constructor)來改進這個
問題:
6
封裝物件初始流程
? 在你重新編譯CashCard.java為CashCard.class
之後,交給你的朋友 …
7
封裝物件初始流程
? 他應該會想寫哪個程式片段?
? 你封裝了什麼?
– 你用了建構式語法,實現物件初始化流程的封裝
? 封裝物件初始化流程有什麼好處?
– 拿到CashCard類別的使用者,不用重複撰寫物件初始化
流程,事實上,他也不用知道物件如何初始化
– 就算你修改了建構式的內容,重新編譯並給予位元碼檔
案之後,CashCard類別的使用者也無需修改程式
8
封裝物件操作流程
? 你的朋友使用CashCard建立3個物件,並要
再對所有物件進行儲值的動作:
9
10
封裝物件操作流程
? 那些儲值的流程重複了
? 儲值應該是CashCard物件自己處理
? 可以定義方法(Method)來解決這個問題
11
12
封裝物件操作流程
? 使用CashCard的使用者,現在可以這麼撰
寫了:
13
封裝物件操作流程
? 相較於先前得撰寫重複流程,CashCard使
用者應該會比較想寫這個吧!
? 你封裝了什麼呢?
– 你封裝了儲值的流程。哪天你也許考慮每加值
1000元就增加一點紅利,而不像現在就算加值
5000元也只有一點紅利,就算改變了store()的
流程,CashCard使用者也無需修改程式。
14
封裝物件內部資料
? 你「希望」使用者如下撰寫程式 …
? 你的希望完全就是一廂情願,因為
CashCard使用者還是可以如下撰寫程式,
跳過你的相關條件檢查:
15
封裝物件內部資料
? 你沒有封裝CashCard中不想讓使用者直接
存取的私有資料,
? 如果有些資料是類別所私有,可以使用
private關鍵字定義
16
封裝物件內部資料
17
封裝物件內部資料
? 編譯器會讓使用者在直接存取number、
balance與bonus時編譯失敗:
18
封裝物件內部資料
? 如果沒辦法直接取得number、balance與
bonus,那這段程式碼怎麼辦?
19
封裝物件內部資料
? 基於你的意願,CashCard類別上定義了
getNumber()、getBalance()與
getBonus()等取值方法?
20
封裝物件內部資料
? 你封裝了什麼?
– 封裝了類別私有資料,讓使用者無法直接存取,
而必須透過你提供的操作方法,經過你定義的流
程才有可能存取私有資料
– 事實上,使用者也無從得知你的類別中有哪些私
有資料,使用者不會知道物件的內部細節。
21
何謂封裝?
? 封裝目的主要就是隱藏物件細節,將物件當
作黑箱進行操作。
– 使用者會呼叫建構式,但不知道建構式的細節
– 使用者會呼叫方法,但不知道方法的流程
– 使用者也不會知道有哪些私有資料
– 要操作物件,一律得透過你提供的方法呼叫
22
public權限修飾
? 假設現在為了管理需求,要將CashCard類
別定義至cc.openhome.virtual套件中
? 除了原始碼與位元碼的資料夾需求必須符合
套件階層之外,原始碼內容也得作些修改:
23
public權限修飾
? 你發現使用到CashCard的CardApp出錯了
24
public權限修飾
? 如果沒有宣告權限修飾的成員,只有在相同
套件的類別程式碼中,才可以直接存取,也
就是「套件範圍權限」
? 如果不同套件的類別程式碼中,想要直接存
取,就會出現圖5.4的錯誤訊息
? 如果想在其它套件的類別程式碼中存取某套
件的類別或物件成員,則該類別或物件成員
必須是公開成員,要使用public加以宣告
25
public權限修飾
26
關於建構式
? 在定義類別時,可以使用建構式定義物件建
立的初始流程
? 建構式是與類別名稱同名,無需宣告傳回型
態的方法
27
關於建構式
? 如果你如下建立Some物件,成員a與text會
初始兩次:
28
關於建構式
? 編譯器會在你沒有撰寫任何建構式時,自動
加入預設建構式(Default constructor)
? 沒有撰寫任何建構式時,也可以如下以無引
數方式呼叫建構式:
29
關於建構式
? 如果自行撰寫了建構式,編譯器就不會自動
建立預設建構式
? 就只有一個具int參數的建構式,所以就不
可以new Some()來建構物件,而必須使用
new Some(1)的形式來建構物件
30
建構式與方法重載
? 建構物件時也許希望有對應的初始流程,可
以定義多個建構式,只要參數型態或個數不
同,這稱之為重載(Overload)建構式
31
? 建構時有兩種選擇,一是使用new
Some(100)的方式,另一個是使用new
Some(100, "some text")的方式
32
建構式與方法重載
? 定義方法時也可以進行重載,可為類似功能
的方法提供統一名稱,但根據參數型態或個
數的不同呼叫對應的方法
33
建構式與方法重載
? 方法重載讓程式設計人員不用苦惱方法名稱
的設計,用一致名稱來呼叫類似功能的方法
? 方法重載可根據傳遞引數的型態不同,也可
根據參數列個數的不同來設計方法重載
34
建構式與方法重載
? 返回值型態不可作為方法重載依據,以下方
法重載並不正確:
35
建構式與方法重載
? 在JDK5之後使用方法重載時,要注意自動裝
箱、拆箱問題
36
建構式與方法重載
? 編譯器在處理重載方法時,會依以下順序來
處理:
– 還沒有裝箱動作前可符合引數個數與型態的方法。
– 裝箱動作後可符合引數個數與型態的方法。
– 嘗試有不定長度引數(稍後說明)並可符合引數
型態的方法。
– 找不到合適的方法,編譯錯誤。
37
使用this
? 除了被宣告為static的地方外,this關鍵
字可以出現在類別中任何地方
38
使用this
? 在建構式參數與物件資料成員同名時,可用
this加以區別
39
使用this
? 在5.2.3看到過這個程式片段:
40
使用this
? 可以在建構式中呼叫另一個已定義的建構式
41
? 在建構物件之後、呼叫建構式之前,若有想
執行的流程,可以使用{}定義
42
使用this
? 如果區域變數宣告了final,表示設值後就
不能再變動
? 物件資料成員上也可以宣告final
? 程式中其它地方不能再有對x設值的動作,否
則會編譯錯誤
43
使用this
? 那以下的程式片段呢?
? 如果物件資料成員被宣告為final,但沒有
明確使用=指定值,那表示延遲物件成員值的
指定
44
使用this
? 在建構式執行流程中,一定要有對該資料成
員指定值的動作,否則編譯錯誤
45
使用this
? 如果改為以下就可以通過編譯:
46
static類別成員
? 建立了多個Ball物件,那每個Ball物件都
會有自己的radius與PI成員
47
static類別成員
? 圓周率其實是個固定的常數,不用每個物件
各自擁有,你可以在PI上宣告static,表
示它屬於類別:
48
static類別成員
? 被宣告為static的成員,是將類別名稱作為
名稱空間
? 也可以將宣告方法為static成員
49
static類別成員
? 被宣告為static的方法,也是將類別名稱作
為名稱空間
? 雖然語法上,也是可以透過參考名稱存取
static成員,但非常不建議如此撰寫:
50
static類別成員
? Java程式設計領域,早就有許多良好命名慣
例,沒有遵守慣例並不是錯,但會造成溝通
與維護的麻煩
? 以類別命名實例來說,首字是大寫,以
static使用慣例來說,是透過類別名稱與.
運算子來存取
51
static類別成員
? 在大家都遵守命名慣例的情況下,看到首字
大寫就知道它是類別,透過類別名稱與.運算
子來存取,就會知道它是static成員
? 一直在用的System.out、System.in呢?
52
static類別成員
? 先前遇過的還有Integer.parseInt()、
Long.parseLong()等剖析方法
? static成員屬於類別所擁有,將類別名稱當
作是名稱空間是其最常使用之方式
? 在Java SE API中,只要想到與數學相關的功
能,就會想到java.lang.Math,因為有許
多以Math類別為名稱空間的常數與公用方法
53
static類別成員
54
static類別成員
? 因為都是static成員,所以你就可以這麼使
用:
55
static類別成員
? 由於static成員是屬於類別,而非個別物件,
所以在static成員中使用this,會是一種
語意上的錯誤
? 在static方法或區塊(稍後說明)中不能出
現this關鍵字
56
static類別成員
? 如果你在程式碼中撰寫了某個物件資料成員,
雖然沒有撰寫this,但也隱含了這個物件某
成員的意思
57
static類別成員
? static方法或區塊中,也不能呼叫非
static方法或區塊
58
static類別成員
? static方法或區塊中,可以使用static資
料成員或方法成員
59
static類別成員
? 如果你有些動作,想在位元碼載入後執行,
則可以定義static區塊
60
static類別成員
? 在JDK5之後,新增了import static語法
61
static類別成員
? 如果一個類別中有多個static成員想偷懶,
也可以使用*
? 名稱衝突編譯器可透過以下順序來解析:
– 區域變數覆蓋
– 成員覆蓋
– 重載方法比對
62
static類別成員
? 如果編譯器無法判斷,則會回報錯誤
63
不定長度引數
? 若方法的引數個數事先無法決定該如何處理?
64
不定長度引數
? 在JDK5之後支援不定長度引數(Variable-
length Argument)
65
不定長度引數
? 實際上不定長度引數是編譯器蜜糖
66
不定長度引數
? System.out.println(MathTool.sum(
1, 2, 3)),展開後也是變為陣列:
67
不定長度引數
? 使用不定長度引數時,方法上宣告的不定長
度參數必須是參數列最後一個
? 使用兩個以上不定長度引數也是不合法的
68
內部類別
? 可以在類別中再定義類別,稱之為內部類別
(Inner class)
69
內部類別
? 一個被宣告為static的內部類別,通常是將
外部類別當作名稱空間
? 可以存取外部類別static成員,但不可存取
外部類別非static成員
70
內部類別
? 方法中也可以宣告類別
71
內部類別
? 實務上比較少看到在方法中定義具名的內部
類別,倒很常看到方法中定義匿名內部類別
(Anonymous inner class)並直接實例化
72
傳值呼叫
73
傳值呼叫
? 如果由方法中傳回物件,並指定給變數,也
是這種行為
74

More Related Content

What's hot (20)

11. DOM、事件與樣式
11. DOM、事件與樣式11. DOM、事件與樣式
11. DOM、事件與樣式
Justin Lin
?
10. 资料永续与交换
10. 资料永续与交换10. 资料永续与交换
10. 资料永续与交换
Justin Lin
?
进阶主题
进阶主题进阶主题
进阶主题
Justin Lin
?
从模组到类别
从模组到类别从模组到类别
从模组到类别
Justin Lin
?
Java SE 8 技術手冊第 5 章 - 物件封装
Java SE 8 技術手冊第 5 章 - 物件封装Java SE 8 技術手冊第 5 章 - 物件封装
Java SE 8 技術手冊第 5 章 - 物件封装
Justin Lin
?
CH17:反射与类别载入器
CH17:反射与类别载入器CH17:反射与类别载入器
CH17:反射与类别载入器
Justin Lin
?
10. 進入瀏覽器
10. 進入瀏覽器10. 進入瀏覽器
10. 進入瀏覽器
Justin Lin
?
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構
Justin Lin
?
CH04:认识物件
CH04:认识物件CH04:认识物件
CH04:认识物件
Justin Lin
?
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行APIJava SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Justin Lin
?
4. 使用物件
4. 使用物件4. 使用物件
4. 使用物件
Justin Lin
?
颁贬16:整合资料库
颁贬16:整合资料库颁贬16:整合资料库
颁贬16:整合资料库
Justin Lin
?
深入模组化
深入模组化深入模组化
深入模组化
Justin Lin
?
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
Justin Lin
?
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Justin Lin
?
9. meta-programming
9. meta-programming9. meta-programming
9. meta-programming
Justin Lin
?
Java SE 8 技術手冊第 17 章 - 反射与类别载入器
Java SE 8 技術手冊第 17 章 - 反射与类别载入器Java SE 8 技術手冊第 17 章 - 反射与类别载入器
Java SE 8 技術手冊第 17 章 - 反射与类别载入器
Justin Lin
?
笔测迟丑辞苍面向对象开发基础篇
笔测迟丑辞苍面向对象开发基础篇笔测迟丑辞苍面向对象开发基础篇
笔测迟丑辞苍面向对象开发基础篇
modou li
?
[圣思园][Java SE]Reflection
[圣思园][Java SE]Reflection[圣思园][Java SE]Reflection
[圣思园][Java SE]Reflection
ArBing Xie
?
Java SE 7 技術手冊投影片第 09 章 - Collection與Map
Java SE 7 技術手冊投影片第 09 章 - Collection與MapJava SE 7 技術手冊投影片第 09 章 - Collection與Map
Java SE 7 技術手冊投影片第 09 章 - Collection與Map
Justin Lin
?
11. DOM、事件與樣式
11. DOM、事件與樣式11. DOM、事件與樣式
11. DOM、事件與樣式
Justin Lin
?
10. 资料永续与交换
10. 资料永续与交换10. 资料永续与交换
10. 资料永续与交换
Justin Lin
?
从模组到类别
从模组到类别从模组到类别
从模组到类别
Justin Lin
?
Java SE 8 技術手冊第 5 章 - 物件封装
Java SE 8 技術手冊第 5 章 - 物件封装Java SE 8 技術手冊第 5 章 - 物件封装
Java SE 8 技術手冊第 5 章 - 物件封装
Justin Lin
?
CH17:反射与类别载入器
CH17:反射与类别载入器CH17:反射与类别载入器
CH17:反射与类别载入器
Justin Lin
?
10. 進入瀏覽器
10. 進入瀏覽器10. 進入瀏覽器
10. 進入瀏覽器
Justin Lin
?
CH04:认识物件
CH04:认识物件CH04:认识物件
CH04:认识物件
Justin Lin
?
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行APIJava SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Java SE 7 技術手冊投影片第 11 章 - 執行緒與並行API
Justin Lin
?
颁贬16:整合资料库
颁贬16:整合资料库颁贬16:整合资料库
颁贬16:整合资料库
Justin Lin
?
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
颁贬09:颁辞濒濒别肠迟颈辞苍与惭补辫
Justin Lin
?
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Java SE 7 技術手冊投影片第 15 章 - 反射器與類別載入器
Justin Lin
?
9. meta-programming
9. meta-programming9. meta-programming
9. meta-programming
Justin Lin
?
Java SE 8 技術手冊第 17 章 - 反射与类别载入器
Java SE 8 技術手冊第 17 章 - 反射与类别载入器Java SE 8 技術手冊第 17 章 - 反射与类别载入器
Java SE 8 技術手冊第 17 章 - 反射与类别载入器
Justin Lin
?
笔测迟丑辞苍面向对象开发基础篇
笔测迟丑辞苍面向对象开发基础篇笔测迟丑辞苍面向对象开发基础篇
笔测迟丑辞苍面向对象开发基础篇
modou li
?
[圣思园][Java SE]Reflection
[圣思园][Java SE]Reflection[圣思园][Java SE]Reflection
[圣思园][Java SE]Reflection
ArBing Xie
?
Java SE 7 技術手冊投影片第 09 章 - Collection與Map
Java SE 7 技術手冊投影片第 09 章 - Collection與MapJava SE 7 技術手冊投影片第 09 章 - Collection與Map
Java SE 7 技術手冊投影片第 09 章 - Collection與Map
Justin Lin
?

Similar to 物件封装 (20)

Java SE 7 技術手冊投影片第 05 章 - 物件封装
Java SE 7 技術手冊投影片第 05 章  - 物件封装Java SE 7 技術手冊投影片第 05 章  - 物件封装
Java SE 7 技術手冊投影片第 05 章 - 物件封装
Justin Lin
?
CH05:物件封装
CH05:物件封装CH05:物件封装
CH05:物件封装
Justin Lin
?
14 Saving Loading and Application States
14 Saving Loading and Application States14 Saving Loading and Application States
14 Saving Loading and Application States
Tom Fan
?
2016.8.1 Design Pattern Eric
2016.8.1 Design Pattern Eric2016.8.1 Design Pattern Eric
2016.8.1 Design Pattern Eric
柏亨 盧
?
闯补惫补蝉肠谤颈辫迟进阶编程
闯补惫补蝉肠谤颈辫迟进阶编程闯补惫补蝉肠谤颈辫迟进阶编程
闯补惫补蝉肠谤颈辫迟进阶编程
iflytek
?
Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011
Ching Yi Chan
?
笔惭读书会冲精实执行
笔惭读书会冲精实执行笔惭读书会冲精实执行
笔惭读书会冲精实执行
Gary Hsia
?
颁贬10:输入输出
颁贬10:输入输出颁贬10:输入输出
颁贬10:输入输出
Justin Lin
?
Linux File system
Linux File systemLinux File system
Linux File system
Kenny (netman)
?
Introduction to big data
Introduction to big dataIntroduction to big data
Introduction to big data
邦宇 叶
?
Word press theme主题制作教程
Word press theme主题制作教程Word press theme主题制作教程
Word press theme主题制作教程
pangyuxing
?
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
Amigo 陳兆祥
?
How to-become-ocm1
How to-become-ocm1How to-become-ocm1
How to-become-ocm1
xiaoshi100a
?
Semp活动 敏捷之用户故事研讨会(二)
Semp活动   敏捷之用户故事研讨会(二)Semp活动   敏捷之用户故事研讨会(二)
Semp活动 敏捷之用户故事研讨会(二)
SEMP
?
Semp活动 敏捷之用户故事研讨会(二)
Semp活动   敏捷之用户故事研讨会(二)Semp活动   敏捷之用户故事研讨会(二)
Semp活动 敏捷之用户故事研讨会(二)
Mike Li
?
Java SE 7 技術手冊投影片第 04 章 - 认识物件
Java SE 7 技術手冊投影片第 04 章 - 认识物件Java SE 7 技術手冊投影片第 04 章 - 认识物件
Java SE 7 技術手冊投影片第 04 章 - 认识物件
Justin Lin
?
Chapter 4 models
Chapter 4 modelsChapter 4 models
Chapter 4 models
Ekman Hsieh
?
Php study.20130110
Php study.20130110Php study.20130110
Php study.20130110
bngoogle
?
The clean coder
The clean coderThe clean coder
The clean coder
Andy Cheng
?
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00
Justin Lin
?
Java SE 7 技術手冊投影片第 05 章 - 物件封装
Java SE 7 技術手冊投影片第 05 章  - 物件封装Java SE 7 技術手冊投影片第 05 章  - 物件封装
Java SE 7 技術手冊投影片第 05 章 - 物件封装
Justin Lin
?
CH05:物件封装
CH05:物件封装CH05:物件封装
CH05:物件封装
Justin Lin
?
14 Saving Loading and Application States
14 Saving Loading and Application States14 Saving Loading and Application States
14 Saving Loading and Application States
Tom Fan
?
2016.8.1 Design Pattern Eric
2016.8.1 Design Pattern Eric2016.8.1 Design Pattern Eric
2016.8.1 Design Pattern Eric
柏亨 盧
?
闯补惫补蝉肠谤颈辫迟进阶编程
闯补惫补蝉肠谤颈辫迟进阶编程闯补惫补蝉肠谤颈辫迟进阶编程
闯补惫补蝉肠谤颈辫迟进阶编程
iflytek
?
Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011
Ching Yi Chan
?
笔惭读书会冲精实执行
笔惭读书会冲精实执行笔惭读书会冲精实执行
笔惭读书会冲精实执行
Gary Hsia
?
颁贬10:输入输出
颁贬10:输入输出颁贬10:输入输出
颁贬10:输入输出
Justin Lin
?
Introduction to big data
Introduction to big dataIntroduction to big data
Introduction to big data
邦宇 叶
?
Word press theme主题制作教程
Word press theme主题制作教程Word press theme主题制作教程
Word press theme主题制作教程
pangyuxing
?
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
Amigo 陳兆祥
?
Semp活动 敏捷之用户故事研讨会(二)
Semp活动   敏捷之用户故事研讨会(二)Semp活动   敏捷之用户故事研讨会(二)
Semp活动 敏捷之用户故事研讨会(二)
SEMP
?
Semp活动 敏捷之用户故事研讨会(二)
Semp活动   敏捷之用户故事研讨会(二)Semp活动   敏捷之用户故事研讨会(二)
Semp活动 敏捷之用户故事研讨会(二)
Mike Li
?
Java SE 7 技術手冊投影片第 04 章 - 认识物件
Java SE 7 技術手冊投影片第 04 章 - 认识物件Java SE 7 技術手冊投影片第 04 章 - 认识物件
Java SE 7 技術手冊投影片第 04 章 - 认识物件
Justin Lin
?
Php study.20130110
Php study.20130110Php study.20130110
Php study.20130110
bngoogle
?
Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00Java Tutorial:Learn Java in 06:00:00
Java Tutorial:Learn Java in 06:00:00
Justin Lin
?

More from Justin Lin (20)

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Justin Lin
?
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
?
Ch12 Spring 起步走
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走
Justin Lin
?
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
Justin Lin
?
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Justin Lin
?
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
?
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
Justin Lin
?
Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTL
Justin Lin
?
Ch06 使用 JSP
Ch06 使用 JSPCh06 使用 JSP
Ch06 使用 JSP
Justin Lin
?
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin
?
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
Justin Lin
?
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應
Justin Lin
?
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
Justin Lin
?
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
?
13.并行、平行与非同步
13.并行、平行与非同步13.并行、平行与非同步
13.并行、平行与非同步
Justin Lin
?
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
Justin Lin
?
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
Justin Lin
?
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
Justin Lin
?
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理
Justin Lin
?
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承
Justin Lin
?
Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
Justin Lin
?
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
Justin Lin
?
Ch12 Spring 起步走
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走
Justin Lin
?
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
Justin Lin
?
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
Justin Lin
?
Ch09 整合資料庫
Ch09 整合資料庫Ch09 整合資料庫
Ch09 整合資料庫
Justin Lin
?
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
Justin Lin
?
Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器Ch05 Servlet 進階 API、過濾器與傾聽器
Ch05 Servlet 進階 API、過濾器與傾聽器
Justin Lin
?
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
Justin Lin
?
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應
Justin Lin
?
Ch02 撰寫與設定 Servlet
Ch02 撰寫與設定 ServletCh02 撰寫與設定 Servlet
Ch02 撰寫與設定 Servlet
Justin Lin
?
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
Justin Lin
?
13.并行、平行与非同步
13.并行、平行与非同步13.并行、平行与非同步
13.并行、平行与非同步
Justin Lin
?
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
Justin Lin
?
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
Justin Lin
?
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
Justin Lin
?
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承
Justin Lin
?

物件封装