Upload
saranyu-srisrontong
View
73
Download
0
Embed Size (px)
Citation preview
2
หลกการเชงวตถ การเขยนโปรแกรมเชงวตถ:- เปนการเขยนโปรแกรมทมองทก
อยางภายในโปรแกรมและสภาพแวดลอมเปนวตถ การสราง
วตถชนหนงตองประกอบดวยวตถอนอกหลายช น
หลกทวไปของ OOP คอ การสบทอดออบเจกต
(inheritance Object) เปนการน าคณลกษณะจากObject ทมอยแลวมาใชงาน โดยไมตองสรางฟงกชนหรอ
Object ขนใหม
Object:- สงทมตวตนและน าไปใชในการประมวลผลขอมลได
โครงสรางของ Object คอ คลาส (Class) ซงแตละ
Object ประกอบดวย
– คณสมบต (Property) หรอขอมล (Data)
– พฤตกรรม (Behavior) หรอ Method
3
คลาสตาง ๆ ใน Object ใหมทมตนก าเนดจากคลาสเดมเรยกคลาสตนก าเนดวา คลาสหลก (SuperClass) และเรยกคลาสทมคณสมบตคลายฟงกชนวา คลาสยอย
(SubClass) ซงคลาสยอยจะสบคณสมบตทงหมดของคลาสหลกมาใชงาน
คลาสทไมระบคลาสหลกถอวา คลาสนนก าเนดจาก Object และดวยการสบทอดรปแบบ สงผลใหแตละ Object มคณสมบตเหมอน Object ตนก าเนด ท าใหสามารถเขยน
โปรแกรมไดเรวขน
Object Class เปนคลาสเดยวใน Object ทไมมคลาสหลกและเปน SuperClass ของทกคลาสใน Java โดยเปนClass ส าเรจรปทสามารถเรยกใชไดทนท ดงนน ทก
Method ใน Object Class จงถกเรยกใชงานโดยคลาสใด ๆ กได
4
การเขยนโปรแกรมเชงวตถสนใจขอมลทถกประมวลผลมากกวา
ฟงกชนทท าการประมวลผล โดยขอมลจะถกใชเปนหลกในการ
แบงโปรแกรมเปนสวน ๆ ทสามารถแกไขเปลยนแปลงไดในแตละ
สวน และสามารถน ากลบมารวมเปนโปรแกรมใหญไดอกครง ชวย
ใหการเขยนโปรแกรมเปนไปอยางรวดเรว และสามารถ
เปลยนแปลงสงทอยภายในแตละ Object ไดโดยไมผลกระทบกบสวนอนของโปรแกรมหลก
Method ใน Java เปรยบเสมอน Procedure หรอFunction ในภาษาอน โดย Java ประกอบดวย Class ตาง ๆ ในแตละ Class จะมอยางนอย 1 Method เพอใชในการปฏบตงาน
บางโปรแกรมอาจม Method ในการปฏบตงานจ านวนมาก แต
ตองม Method ชอ Main เพอเรมตนโปรแกรม ภายใน
main Method จะเรยกใช Method ใด ๆ ขนอยกบการ
ท างานของโปรแกรม
6
โครงสรางของ Class[<access_spec.>] [<modifier>] class <class_name> [extends SuperClass_name]
[implements interfaces_name]{ //data members
//methods }
access_specifier และ modifier :- ระดบการเขาถงหรอ
ความสามารถในการใหบรการกบคลาสอน ๆ เชน public private protected final
class :- ค าศพทสงวนทบอกใหทราบวา สวนของโปรแกรมตอไปนเปนคลาส
extends :- ค าศพทเฉพาะทบอกใหทราบวา คลาสนสบทอดมาจาก
SuperClass
superClass_name :- ชอของคลาสทตองการสบคณสมบตตาง ๆ มาใช
งาน เพอไมตองเรมเขยนโปรแกรมจากจดเรมตน
implements :- ค าศพทเฉพาะเพอเรยกใชหรอขอการสนบสนนจากคลาส
อนมาเปนสวนเชอมประสานระหวางคลาส
interfaces_name :- ชอของอนเทอรเฟซทตองการใชงาน การใชงานแบบ
อนเทอรเฟซเปนการะบกลมพฤตกรรมทเพมใหคลาส นอกเหนอจากพฤตกรรม
ตาง ๆ จาก SuperClass
7
โครงสรางของ data members
[<access_specifier>] [<modifier>] <datatype> <variable_name>
access_specifier และ modifier เปนการก าหนด
คณลกษณะพเศษในการใชงานตวแปร เชน static final
public private protected
8
โครงสรางของ Method [<access_spec.>] [<modifier>] <return_type> <method_name> ([arg._list]){ //Statements }
access_specifier และ modifier:- ระดบการเขาถง
ขอมล เชน public private static void final
return_type :- ชนดของขอมลทจะสงคนหลงสนสดการท างาน
ของ Method ซงใน 1 Method จะตองสงผลลพธอยางนอยทสด 1 คากลบไปยง Method ทเรยกใชมา
argument_list :- ชอของตวแปรทใชรบขอมลทสงมาจาก
Method ทเรยกใชงาน Method น
Statements :- ค าสงควบคมการท างานของนพจน เพอ
ก าหนดวธการประมวลผลภายใน method
9
ตวอยางของ method ชอ factorial
public long factorial (long theNumber)
{ long result = theNumber;
for (int i=theNumber–1; i>=1; i--)
result*=i;
return result; }
10
ประเภทของ Method
Method ทสรางขนมาเอง :- Method ทผเขยนโปรแกรมสรางขน
ใชเองตามตองการอาจอยใน Class เดยวกนหรอตาง Class กนกได
Method ทมอยแลว :- Method ใน Class Libraries ตาง ๆ
ใน Package ของ JDK การเรยกใชงานตองระบในค าสง import
ตอนตนโปรแกรม โดยไมจ าเปนตองสราง Object ข นมาใหม
13
การเรยกใช Method จาก Class Libraries
เรยกใชโดยระบชอ Package ชอ Class และชอ Method
ตามล าดบ คนดวยเครองหมายจด
ชอ Package. ชอ Class. ชอ Method(parameter_list);
System.out.println(“Warm Welcome”);
15
Method Invocation
การเรยกใช method ท าไดในสองลกษณะ– Method ทไมสงคากลบออกมาจะตองถกเรยกจากต าแหนงของประโยค– Method ทสงคากลบออกมาจะตองถกเรยกจากต าแหนงของ term ภายใน
expression โครงสรางของประโยคทเรยก method มดงน
<method name> (<argument list>);<argument list> คอ ล าดบของ expression หรอตวแปร หรอ instance หรอ
คาคงท ของคาทจะถกสงใหแกพารามเตอรใน method ทถกเรยก จ านวนและชนดขอมลของ <argument list> จะตองสอดคลองกบ <parameter list> ของ method ทถกเรยก
ดานของประโยคทเรยก method คา <argument list> ทถกสงออกมา จะถกเรยกวา actual parameter หรอ argument สวนทางดานโปรแกรมทก าหนดmethod คา <parameter list> ทรบเขามาจะถกเรยกวา formal parameter หรอparameter
16
เมอมการเรยก method จะมเหตการณเกดขนดงตอไปน1. คาของ argument จะถกสงใหแกพารามเตอรตามต าแหนงของมน2. โปรแกรมเปลยนการด าเนนจากประโยคทเรยก method ไปท
จดเรมตนของ method นน หากมการประกาศตวแปรเฉพาะทในmethod กสรางตวแปรเหลานขน แลวโปรแกรมด าเนนตอไปจนกวาจะถงประโยคสดทาย หรอถงประโยค return
3. หาก method ด าเนนไปถงประโยค return ทมexpression คาของ expression นนจะถกค านวณและผลลพธนนถกสงกลบไปยงต าแหนงทเรยก method นน แตหากmethod นนถกระบวาจะไมสงคาออกมา (void) กอาจจะจบทประโยคสดทายหรอประโยค return ทไมมคาสงออกมา
4. หาก method สนสดการท างานทประโยคสดทาย โดยไมมการexit หรอ return โปรแกรมจะเปลยนการด าเนนกลบมายงต าแหนงถดจากจดทเรยก method นนและด าเนนตอไป
18
Object การเรยกใชงาน Class ใดกตาม ตองสราง Object ข นมาใหมเพอ
เตรยมไวใหสามารถใชงานไดกบ Class นน
การสราง Object ใหมเรยกวา Object Instantiation
การสราง Object พรอมกบการใสขอมลเรยกวา Object
Initialization
การก าหนดวา Object อยใน Class ใด => String S1;
การสราง Object พรอมกบการใสขอมล =>
S1 = new String(“Hello”);
หรออาจรวมไวในค าสงเดยว =>
String S1 = new String(“Hello”);
19
การสราง Object การก าหนดวา Object อยใน Class ใด
รปแบบ ClassName ObjectNameเชน Circle MyCircle;การสราง Object เพอจดสรรหนวยความจ าให Object นรปแบบ ObjectName = new ClassName();เชน MyCircle = new Circle();
การสราง Object โดยใชค าสงเดยวรปแบบ ClassName ObjectName = new ClassName();เชน Circle MyCircle = new Circle();
การสรางมากกวาหนง Objectรปแบบ ClassName ObjectName_1 = new ClassName();
ObjectName_2 = new ClassName();เชน Circle MyCircle_1 = new Circle(),
MyCircle_2 = new Circle();
21
Object-oriented concept
Method overloading เปนการเรยก method หนงดวยargument ทแตกตางกนไปในการเรยกแตละครง และจะตองมหลาย ๆmethod ส าหรบการเรยกแตละแบบ เชน method ในการหาคาสงสดอาจประกอบดวย 2 method ซงม argument ตางกน คอ static double max(double num1, double num2)
static int max(int num1, int num2)
25
Constructor Method
เมอ Object ใด ๆ ถกสรางขนมาภายใต Class หนง โปรแกรมจะตองไปเรยกใช Method ทมชอเดยวกบ Class ทนท (ถาม) การก าหนดการท างานลกษณะนเรยกวา “Constructor” และเรยกMethod ทมชอเดยวกบ Class วา “Constructor Method” ทงน มขอจ ากด คอ– Constructor Method ตองมชอเดยวกบชอ Class
– Header ของ Constructor Method ตองไมมคาreturn_data_type หรอ แมกระทง Keyword void
กรณทม Subclass มากมายเปนล าดบชน และม Constructor รวมอยดวย เมอใชค าสง super() เพอเรยกใช Constructor ในระดบใดกตาม Constructor ของ Superclass แรก จะตองถกเรยกใชกอนเสมอ ไมวาจะม subclass มากเพยงใด
27
Constructor Method
เมอ Object ใด ๆ ถกสรางขนมาภายใต Class หนง โปรแกรมจะตองไปเรยกใช Method ทมช อเดยวกบClass ทนท (ถาม) การก าหนดการท างานลกษณะนเรยกวา“Constructor” และเรยก Method ทมช อเดยวกบ Class วา “Constructor Method” ทงน มขอจ ากด คอ– Constructor Method ตองมชอ
เดยวกบชอ Class– Header ของ Constructor
Method ตองไมมคาreturn_data_type หรอแมกระทง Keyword void
กรณทม Subclass มากมายเปนล าดบชน และม Constructor รวมอยดวย เมอใชค าสง super() เพอเรยกใช Constructor ในระดบใดกตาม Constructor ของ Superclass แรก จะตองถกเรยกใชกอนเสมอ ไมวาจะม subclass มากเพยงใด
28
ค าสง super
Subclass สามารถเรยกใชConstructor Method ของ Superclass ไดเลย โดยSubclass ไมจ าเปนตองสรางConstructor ของตนเองขนมาใหม (Constructor จะไมถกสบทอดจากการ Inherit ดวยค าสง extends แตละจะเรยกใชไดโดยค าสง super) ท าใหประหยดเวลาและไมซ าซอน
เรยกใชสมาชกของSuperclass ในกรณทSubclass ใชสมาชก (ตวแปร,Method ชอเดยวกน)
29
Overriding Method
Method overriding เปนการก าหนดชอของ method ในsubclass ใหมชอเหมอนกน method ใน parent class
เพอเปลยนแปลงการท างาน method ใน parent class ใหท าหนาทอนใน subclass
การ binding วาชอ method ท instance สงมาเปนmethod ตวใด จะท าแบบ dynamic binding
แนวคดในการจดการกบ instance ของ class ทตางกนดวย method เดยวกนเรยกวา polymorphism
polymorphism เปนการสนบสนนการออกแบบโปรแกรมเพอใหใชงานรวมกน หรอการน ากลบมาใชไดอก
31
Overriding Method
กรณทช อ Method เหมอนกน แตมจ านวนหรอชนดของParameter ตางกน(เรยกวา Signature ตางกน) เรยกวา “Overloading Method”
กรณทช อ Method เหมอนกนรวมทง Signature กเหมอนกนลกษณะเชนนเรยกวา“Overriding Method”
กรณทโปรแกรมพบ Overridden Method ใน Subclass และSuperclass โปรแกรมจะท างานท Method ของ Subclass แทนโดยอตโนมต (ไมท างานทMethod ของ Superclass)
32
การปองกนการOverride (Final Method)
Method ใดทมการระบค าวา final จะไมสามารถถกทบ (override) โดยMethod ใดได
33
เนองจาก subclass มการสบทอดทง method และตวแปร จากsuperclass และ subclass เองกสามารถก าหนดทงตวแปรและmethod ทมชอซ ากนกบ superclass ได แตการตงชอตวแปรซ ากบsuperclass จะไมเหมอนกบกรณของ method คอ ไมสามารถทจะoverriding ตวแปรได ดงนน ตวแปรท subclass ถาซ ากนจะมสองกรณ คอ
เปนตวแปรของ superclass คอ เปนการสบทอดตวแปรทกตวของsuperclass
การสรางตวแปรใหมโดยทชอตวแปรซ ากน ตวแปรทสรางใหมจะอางองภายใน subclass เทานน
35
Composition
เปนการสราง Object ใหมจาก Class เดมทมอย โดย
Object ใหมน จะอยใน Class ใหมทสรางขน ดงนน
Class ใหมจะสามารถเรยกใช Method ตาง ๆ จาก
Class เดมทมอยไดโดยไมตองสรางหรอแกไข Method ท
มใน Class เดม
Class A //Class เดมทมaa()
{ … }
bb()
{ … }
Class B //Class ทสรางขนใหมA b = new A() //สราง Object b จาก Class A
b.aa() //เรยกใช Method aa ของ A
b.bb() //เรยกใช Method bb ของ A
37
Inheritance
เปนการสราง Class ใหมใหเปนพวกเดยวกบ Class เดมทม ท าให สามารถใชคณสมบตตางๆ เชน ตวแปร Method Constructor หรออน ๆ ของ Class เดมทมไดโดยไมตองแกไข ทงน Class เดมทมอาจก าหนดไมให Class อนมาใช คณสมบตใด ๆ ไดดวยเชนกน
หลกของ Inheritance คอ การสราง Class หลกขนมา 1 Class โดย Class หลกจะมคณสมบตตาง ๆ โดยรวมท Class อน ๆจ าเปนตองม จากนนจงสราง Class อน ๆ ขนเพอรบการถายทอดคณสมบตทงหมดจาก Class หลกโดยอตโนมต และสามารถสรางคณสมบตอน ๆ นอกจากทมใน Class หลกขนได
Class X
double i;
xx();
Class Y extends X
double j;
yy();
39
การปองกนการ Inherit (Final Class)
Class ใดทมการระบค าวา final จะไมสามารถน าไปใชเปนSuperclass ของ Class ใด ๆ ได (สมาชกทงหมดใน Class จะถกปองกนจากการเรยกใชจาก Class อน)
42
Polymorphism
ความสามารถของ Class หนงทสามารถอางองถง Object ของอก Class หนงได โดยเมอ method นนถกเรยกใชโดยการอางองมาจาก Class อน Class เจาของ Object จะตดสนใจวา จะเรยกใช method ใด ทงน ไมไดขนอยกบชนดของการอางองถง (type of reference) แตขนอยกบชนดของObject (type of object)
Shape
draw()erase()
Triangle
draw()erase()
Square
draw()erase()
Circle
draw()erase()
46
access modifier protected protected :- ไมไดเปดใหคลาสใดสามารถเขาใชงานไดอยางอสระ แต
ไมถงกบเปดไมใหใครเขาใชงานเลย ดงน– คลาสทอยในแพกเกจเดยวกนกบคลาสทถกก าหนด modifier เปน
protected สามารถเรยกใชงาน member ของคลาสทถกก าหนดเปน protected ได
– คลาสทอยตางแพกเกจกบคลาสทถกก าหนด modifier เปน protected จะไมสามารถเรยกใชงาน member ของคลาสทถกก าหนดเปน protected ได
– คลาสทอยตางแพกเกจกบคลาสทถกก าหนด modifier เปน protected แตมความสมพนธเปนคลาสแมคลาสลกกน สามารถเรยกใชงาน member ของคลาสทถกก าหนดเปน protected ได
48
การปองกนการเรยกใชภายในSuperclass
การปองกนไมให Subclassเรยกใชตวแปรหรอ methodใน Superclass สามารถท าไดโดยการระบค าวา privateลงไปทตวแปรหรอ methodนน และหากตองการใหตวแปรหรอ method ใดสามารถเรยกใชหรออางองไดเฉพาะการ Inherit โดยSubclass เทานนจะใชค าวาprotected วางไวดานหนาตวแปรหรอ method นน
49
แบบฝกหดท 3
จงเขยนโปรแกรม item31.java เพอค านวณหาคาจอดรถของอาคารจอดรถแหงหนง ซงเปดบรการระหวาง 05.00-22.00 น. โดยมขอมล คอ ทะเบยนรถ
วนทเขาใชบรการ เวลาเขา และเวลาออก
เวลาทใชจอด = เวลาออก - เวลาเขา
ผลลพธทตองการใหแสดงออกทางจอภาพ
คาจอดรถ ทะเบยน xxxxเวลาเขา เวลาออก รวม (ชวโมง) จ านวนเงน
HH : MM HH : MM HH : MM X,XXX.XXทงน คาจอดรถใน 3 ชวโมงแรก 20 บาท เศษของชวโมงหากเกน 30 นาทใหปดขนเปนหนงชวโมง แตถาไมเกน 30 นาท ใหปดเศษทง ส าหรบคาจอดรถทเฉพาะสวนทเกนจาก 3 ชวโมง ใหคดชวโมงละ 30 บาท โดยใชวธการปดเศษเชนเดยวกน
ทงน ใหสมมตขอมลขนเองตามความเหมาะสม และค านงถงความเปนจรงวา 1 ชวโมงม 60 นาท การใชบรการขามวนคดคาบรการวนละ 500 บาท
จงเขยนโปรแกรม item32.java โดยใช overloading method เพอเปรยบเทยบ ตวแปรสองตว ซงตวแปรดงกลาวอาจเปนไดทงจ านวนเตมทงค
จ านวนจรงทงค หรอเปนขอความทงค
สงภายในวนศกรท 20 สงหาคม 2553
50
Abstract Classes
Class ทถกออกแบบมาใหใชงานในแบบล าดบขน (Hierarchy)
และไมสามารถ instantiated (การท าใหเกด Object จากClass)
ภายใน Abstract Class ตองม Abstract Method
(Method ทไมมการ implement ไวภายใน Method
(ไมระบรายละเอยดของการท างาน)) รวมอยดวย Abstract Class จะใชประโยชนในการท างานแบบ Class
Hierarchy ทจะระบการท างานไวเพยงบางสวน แลวให Class
ทอยระดบต ากวาเปนผ implement ในสวนทเหลอ รปแบบ
abstract ชอ Class หรอ Method (parameter_list);
51
ทก Class ทสรางขนมาจาก Class A จะตองสราง method ชอ “callme” เพอใชเปน overridden method เสมอ
หามมค าสงเพอใชในการท างานภายใน “Abstract Method”หามสราง Object ใดๆ ภายใน “Abstract Class” (โดยใชค าสง new)ตองสราง Abstract Method ไวใน Abstract Class เทานน
53
การสบทอดคณสมบตของคลาสสามารถจ าแนกได 2 ประเภท คอ1. Single inheritance หมายถง การทคลาสหนงๆ ไดรบการถายทอดคณสมบต (inherit) ทงแอตทรบวตและเมธอดมาจากอกคลาสหนงเพยงคลาสเดยว ตวอยางเชน คลาสสนข คลาสชาง และคลาสมา ตางกเปนคลาสทไดรบการถายทอดคณสมบตจากคลาสสตวสเทา
54
2. Multiple inheritance หมายถง การทคลาสหนงๆ ไดรบการถายทอดคณสมบตทงแอตทรบวตและเมธอดมาจากคลาสอนมากกวาหนงคลาส ตวอยางเชน คลาสไลเกอร (Liger) ไดรบการถายทอดคณสมบตจากคลาสสงโตและคลาสเสอ
55
Interfaces
ท าหนาทคลายกบ Abstract โดยการนยาม Interface
เหมอนกบการนยาม Class เพยงแตภายใน Interface จะมเฉพาะรายชอ methods แตไมมเนอหาของ methods
โปรแกรมใดนยาม Interface ไว หมายถง ก าหนดวา ทกClass ในโปรแกรมตองสราง Method ทมชอตามทระบไวในInterface ดวย โดยเนอหาของ Method อาจแตกตางกนไปในแตละ Class ขนอยกบความตองการในการใชงาน (แตชอMethod ตองเปนชอเดยวกน)
ประโยชนของ Interface คอ การท า Multiple
Inheritance
56
แนวคดในการออกแบบการเชอมตอ (Interface) ของคลาสจ าแนกเปน 2 ประเภทคอ
1. Abstract Interface เปนการเชอมตอทประกอบดวยโครงสราง คอ ชอของเมธอด พารามเตอร และชนดของขอมลคนกลบ พรอมทงมสวนของการขอรบการสนบสนน (implement) อยภายใน ท าใหสามารถน ากลบมาใชใหม(Reuse) รวมกบโปรแกรมอนๆ ได
2. Concrete Interface เปนการเชอมตอทประกอบดวยโครงสราง คอ ชอของเมธอด พารามเตอร และชนดของขอมลคนกลบ โดยไมมสวนของการขอรบการสนบสนน (implement) อยภายใน หากมออบเจกตอนตองการน ากลบมาใชใหม (Reuse) จะตองขอรบการสนบสนน (implement) การท างานเอง
60
ความแตกตางระหวางการเชอมตอ (Interface) กบคลาสวางเปลา (Abstract Class) อาจสรปไดดงนคอ
คลาสวางเปลา (Abstract Class) การเชอมตอ (Interface)
เปนคลาส ไมใชคลาส
บางเมธอดของคลาสวางเปลา (Abstract Class)ตองระบค าวา “abstract”
เมธอดทปรากฏในการเชอมตอ (Interface) ไมตองระบค าวา “abstract”
การเรยกใชงานคลาสวางเปลา (Abstract Class) ตองใชค าวา “extends”
การเรยกใชงานการเชอมตอ (Interface)ตองใชค าวา “implements”
คลาสทท าการ extends ไมจ าเปนตองระบเมธอดทมอยในคลาสวางเปลา (Abstract Class) ครบทกเมธอด
คลาสทขอรบการสนบสนน (implement) ตองระบทกเมธอดทมอยในการเชอมตอ (Interface) ใหครบ
เมธอดส าเรจรปเกยวกบวนท และเวลา
คลาส Calendar และคลาส Date ตางเปนคลาสในแพคเกจ java.util ใชส าหรบจดการขอมลทเปนวนเดอนปและเวลา
import java.util.*;
การแสดงผลจากการท างานของคลาส Calendar และคลาส Date มการจดรปแบบ การแสดงผลดวยเมธอด format ซงเปนเมธอดหนงในแพคเกจ java.text
import java.text.*;
คลาส Calendar กบการแสดงผลวนเดอนปและเวลาCalendar ชอออบเจกต = Calendar.getInstance();
System.out.format(“%รหสแสดงผล”, ชอออบเจกต)
รหสแสดงผล ค าอธบาย
tB แสดงชอเดอน
td แสดงวนเปนตวเลข 2 หลก อยในรปแบบของ 00
te แสดงวนเปนตวเลข 1 หรอ 2 หลก
ty แสดงปเปนตวเลข 2 หลก
tY แสดงปเปนตวเลข 4 หลก
tl แสดงชวโมง
tM แสดงนาทเปนตวเลข 2 หลก
tp แสดงชวงเวลา am/pm หรอกอนเทยวหลงเทยง
tm แสดงเดอนในรปตวเลข 2 หลก
tD แสดงวนทในรปของ tm/td/ty
คลาส Date กบการแสดงผลวนเดอนปและเวลาDate ชอออบเจกต = new Date( );
SimpleDateFormat ชอออบเจกต = new SimpleDateFormat(รปแบบ);
รหสแสดงผล ค าอธบาย
yyyy แสดงปครสตศกราช
MM แสดงเดอนเปนตวเลข 2 หลก
MMM แสดงเดอนเปนตวอกษรยอภาษาองกฤษ
ww แสดงสปดาหของป
WW แสดงสปดาหของเดอน
dd แสดงวนท
F แสดงวนของสปดาหเปนตวเลข
EEE แสดงวนของสปดาหเปนตวอกษรยอภาษาองกฤษ
a แสดง AM, PM
รหสแสดงผล ค าอธบาย
HH แสดงชวโมงแบบ 0-23
hh แสดงชวโมงแบบ 1-12
kk แสดงชวโมงแบบ 1-24
KK แสดงชวโมงแบบ 0-11
mm แสดงนาท
ss แสดงวนาท
SS แสดงมลลวนาท
z แสดงชอโซนเวลา
Z แสดงโซนเวลาเปนแบบตวเลข
การใชคยเวรด this
this หมายถง คลาสปจจบนทก าลงใชงานอย this.ชอแอตทรบวต หมายถง ชอแอตทรบวตของคลาสปจจบน this.ชอเมธอด หมายถง ชอเมธอดของคลาสปจจบน